C#三层架构
一个好的框架,方便维护和管理。比如一个仓库,你东西全部堆一起。找都不好找,更别说维护了。
程序和仓库原理是一样的。
主要分三层:
UI
BLL
DAL
UI:就是ui 画面 (比如公司老板)
BLL:业务 (4S店的接待员,企业的管理层)
DAL:对象服务类(公司的电工,员工,修车师傅等)
举个例子:你汽车保养,你就相当于ui,接待员就是BLL,修车师傅就是DAL
这个过程中,你的角色是下达命令,BLL是能够提供的服务,DAL是针对性的处理
ui你 new出BLL对象,调用BLL她的方法。
BLL内,new出DAL的对象,调用DAL对象的方法。
DAL内 new出 Models参数对象,处理完后,把参数对象,返回给上级
ui和BLL都不知道 数据的来源(数据隔离)
Models的作用:当你调用方法时,会传递参数,参数1个2个还行,要是几十个参数就会有问题,不光参数顺序会写错,类型可能也会写错,还会漏写参数。每次调用方法都填写那么多参数,很不方便。所以Models就体现她的作用了。把所有参数封装成对象来传递。这样,参数栏里,只要写一个对象类型就行了。方法内部再详细写:读取该参数对象的值。(高内聚低耦合)这样就不会再错写漏写参数了。
当你理解 Models 的作用,就知道该怎么使用了。Models就像饭店的菜单一样。在UI和BLL跟DAL之间传递。
这样 Models 这个类 写在独立的命名空间下。UI,BLL,DAL都引用这个命名空间。就可以new出参数对象来传递。
ui内部
BLL bll = new BLL();
Models models = new Models();
//修改 models的值。。。。
//最后
Models 结果 = bll.某个方法( models );
在BLL 内部也是如此 new 出DAL,再把 models的参数传给 dal.某个方法( models );
注意: ui 内不应该 出现 new DAL();
就像 老板不可能去指派员工今天干什么工作。只会指派管理层,管理层再指派员工今天做什么工作。(如果什么事都由老板去做,那么,哪天换老板了,那BLL和DAL的事都要重新再写一边,这个工作量是非常大的,而且,上层一改,中层和下层全部都要改,会代码地震。代码的房子大厦都震塌了,你还准备用残砖剩瓦拼个大厦出来?这样的房子你敢住?)
代码分层后,哪层需要修改,只需要替换那一层就行。其他层都不需要修改便于维护和管理。这就是项目分层带来的优势。