一、三层是指哪三层?每层的作用是什么?
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):负责直接操作数据库,针对数据的增添、删除、修改、查找等。
二、为什么要划分三层?
划分三层实现了高内聚低耦合,有利于系统的开发和维护。
三层之间的等级观念:
U层只能引用B层,B层只能引用D层。三层都可以引用Model。保证每一层都各司其职,也是单一职责的体现。
为什么要有等级?如果他们之间没有等级,可以互相调用各层中的数据,这样那些窗体显示还有逻辑判断以及访问数据库就会放在一起,和我们第一次做机房一样了,那么和不分层没有区别了,违背了单一职责原则,可维护性,可升级性都很差。
Model是什么?贯穿于上面三层,他的作用就是在三层之间传递数据,这是面向对象的编程模式。
为什么会用到实体层? 我的理解是这样的:之前提到了三层之间的等级观念,只能是从上往下引用,上层知道下层,下层却不知道上层。这样U,B,D三层只能单方向引用,有的时候对于数据传输会比较麻烦。实体层的作用就是贯穿于三层,在三层之间传递数据。当然这只是一方面,还有一个原因是便于用户返回所需要定义的数据类型。实体层中存放了很多实体类,三层中每层返回的类型都在实体类中定义好了,这样可以实现三层之间返回类型的互通。