最近进入了三层的学习,刚开始实在是不明白三层是什么?为什么要分层?
三层有哪些?
1.UI(View),表示层。接收显示数据(接受用户输入数据、显示处理后的数据);
2.BLL(Business Logic Layer),业务逻辑层。数据处理和传递,如:逻辑判断、计算
3.DAL(Data Access Layer),数据访问层。与数据库打交道。访问数据库,对数据表进行Select,Insert,Update,Delete操作,并且将处理后的数据保存到数据库
为什么要使用三层?(来源于生活)
目的:高内聚,低耦合
耦合性:块间联系,模块间相互联系紧密程度的一种度量。模块间联系越紧密,耦合性越强,模块的独立性越差
内聚性:块内联系,一个模块内各元素(语句之间、程序段之间)联系的越紧密,他的内聚性越高
1.如果顾客感觉服务不好,就是服务员的问题;
如果顾客觉得这个菜不好吃,馊了,就是厨师的问题;
如果觉得今天菜买的不够新鲜,坏了,就是采购员的问题
2.如果服务员请假或离职了,就找另一个服务员顶替;如果厨师今天请假或离职了,就找其他厨师;如果采购员今天请假或离职了,就找其他的采购员。
各司其职,在其位,谋其政,行其权,尽其责
①、在某一层里面,语句联系越紧密,内聚越高。层与层之间联系越差,耦合性越弱,独立性就越强。
②、开发人员可以只关注整个结构中的其中一层,降低层与层之间的依赖。任何一层发生变化都不会影响另外一层。
③、利于各层逻辑的复用(就像第一次机房里面的模块)
他们是如何关联、联系(UI—>BLL—>DAL)的?
通过变量或实体作为参数来进行传递
在VS中的形式:
为什么他们都要引用Model层,有什么作用?
Model:业务数据模型,为了在三层之间传送数据,将三层联系起来,在三层之间传递数据。独立于其他三个层次,不属于任何一个层次
什么情况下需要使用?
需要:当业务复杂到一定程序,当数据存储到相应的数据库或者独立的数据存储介质情况下。业务访问访问脱离业务单独存在,业务脱离UI单独存在,UI只需要呼叫业务访问层就可以实现跟用户的交互。
不需要:简单、没有真正的数据存储层