【请教】如果说winform的界面是UI层,那么F7进入的代码算是哪一层?

Haitani 2018-03-14 11:39:50
今天看了一下以往的三层结构项目,真的是不太理解当初为啥这么生搬硬套的去写,只知道公司的前辈们说这么干。有些代码量极其少维护成本极其低的项目也就这么服从安排的做了。然后看着看着就想到,对于winform来说,搭建三层后,如果像form1那样的图形界面是UI的话,那么双击button进入到后台代码,这部分因为会有少量逻辑判断,那这部分是哪一层?designer.cs呢,作为对界面的布局设计,又算什么?求大神们解答,谢谢
...全文
575 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haitani 2018-03-15
  • 打赏
  • 举报
回复
引用 8 楼 sp1234 的回复:
#2 楼(以及后边的)也就是这个意思。分层是工程需要,并不是抠技术字眼儿说你的客户端pc机(或者手机)有没有逻辑处理能力,而是一个网络架构系统(哪怕是你要负责设计开发一个网络页游)需要,才需要分层。
还有请教下前辈,我个人是希望在学习编程的道路上能够及早有一个好的比较宏观的思维能力,我的项目就是一个简单科室的药品信息管理系统(药品出入数据统计),未来很大几率不做扩展,对于这样一个简单的系统,以你的经验和水平,会怎么处理,要用三层么?菜鸟又怎么提高对于框架的理解和使用能力?谢谢
cheng2005 2018-03-15
  • 打赏
  • 举报
回复
引用 9 楼 Haitani 的回复:
[quote=引用 8 楼 sp1234 的回复:] #2 楼(以及后边的)也就是这个意思。分层是工程需要,并不是抠技术字眼儿说你的客户端pc机(或者手机)有没有逻辑处理能力,而是一个网络架构系统(哪怕是你要负责设计开发一个网络页游)需要,才需要分层。
还有请教下前辈,我个人是希望在学习编程的道路上能够及早有一个好的比较宏观的思维能力,我的项目就是一个简单科室的药品信息管理系统(药品出入数据统计),未来很大几率不做扩展,对于这样一个简单的系统,以你的经验和水平,会怎么处理,要用三层么?菜鸟又怎么提高对于框架的理解和使用能力?谢谢[/quote] 花钱找专业的人去做吧,人的精力是有限的,找自己擅长的,未来会重点投入的事情来做。
  • 打赏
  • 举报
回复
#2 楼(以及后边的)也就是这个意思。分层是工程需要,并不是抠技术字眼儿说你的客户端pc机(或者手机)有没有逻辑处理能力,而是一个网络架构系统(哪怕是你要负责设计开发一个网络页游)需要,才需要分层。
  • 打赏
  • 举报
回复
c/s架构成熟于上个世纪90年代初,那个时候计算机网络系统出现了pc网络浪潮。在那之前,大型的网络系统(例如一个全美国的国家级人力资源管理系统,或者图书查询系统,等等,从美洲大陆西边连到大陆东边)的网络系统,基本上都是中型机、小型机的“主机-终端”机制的,那个时候疯狂地兴起了 pc 机网络 c/s 结构,也就是说 pc 机开始取代传统的终端机以及专用图形工作站。 所以三层架构的前提是,UI层是一个全功能智能pc base计算机,然后通过网络协议连入大型网络服务器,服务层向成千上万的客户端屏蔽了后台有多少数据库系统、分别有什么类型的数据库、有几十个SOA服务在线,等等后台功能。 你所说的“会有少量逻辑判断”这个其实就“字眼儿”而言并没有什么具体意义,因为前端机器也都是高级的计算机(包括现代手机也是),所以你绝对不能随便纠结什么“逻辑判断”这个字眼儿来说事儿。 服务的意义就在于,它是一个大型企业系统,它不是专为什么 .net winform、或者某家小作坊的前端产品,而定制的服务。比如说腾讯公众平台服务,比如说淘宝服务,不是纠结于什么前端。服务就是一个大型的网络生态系统,一个服务的发布同时支持许多通讯协议,前端开发可以外包出去给各种各样的公司,甚至同一个前端软件可以找3、4个使用不同前端技术的公司分别开发、然后选择一个。 因此三层,是一个人设计大型网络应用系统的框架知识。不是说你随便弄个 winform 小程序能访问一下数据库,就能比的。 这个时候才体现出三层架构的作用。
gray55455 2018-03-15
  • 打赏
  • 举报
回复
你这样先个,你分UI层的目的是什么? 其中有一个原因是如果UI换掉成其他的话,其他两层不动(或者少动) 这样的话,你觉得如果要换掉UI,form后面的代码要不要换?
wanghui0380 2018-03-15
  • 打赏
  • 举报
回复
@cheng2005 :1个简单科室的药品信息管理系统(药品出入数据统计) 这个事情简单,请先找一个专业会计,问清楚人家会计怎么处理就成。当然你这个系统其实最麻烦的不是出入库,这个系统麻烦的是“统计口径” 药品本身有品名,批号。类型有针,散,膏,丸。单位有盒,片,板,瓶。这才是这个东西的麻烦的地方。
xuzuning 2018-03-14
  • 打赏
  • 举报
回复
F7进入的代码 依然在 winform的界面中,自然还是 UI 层 如果说 三层架构是生搬硬套的话,就表示你并没有理解三层架构 三层架构是分工协作的产物 三层架构对每一层都有严格的定义,绝不是什么抽象的玩意
wanghui0380 2018-03-14
  • 打赏
  • 举报
回复
也就是说,任务分工可以分层。可以是一层一层派到泥瓦匠身上 工具管理可以分层,泥瓦匠每天干活先去领导那里领工具 材料管理可以分层,涂料按需拿,用不完还回去 施工工艺可以分层,啥时候上涂料上几遍可以玩 但是最后一步了,你就只剩刷了,你还问我们这是什么层?
诺亚蜗牛_Snail 2018-03-14
  • 打赏
  • 举报
回复
实际都是同一个类,不过UI层的渲染是form类调用Graphics对象来实现ui的渲染,所以f7跳转代码不过是跳到实现此渲染的代码而已,好好研究designer.cs
wanghui0380 2018-03-14
  • 打赏
  • 举报
回复
这属于“没有层” 分层是宏观层面,工程层面的事情。到具体业务实现了,他本就没有层。你是一个泥瓦匠,你就是打开涂料盖子,拿起刷子,蘸好涂料,然后刷。你觉着这是哪一层??
全栈极简 2018-03-14
  • 打赏
  • 举报
回复
算UI逻辑层,控制界面元素的。跟你的业务逻辑层又不冲突。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧