[理解三层]:
三层简单来说可以算作是一种开发模式或者开发思想。它是把所做的工作分成若干个部分去做,这样条理清楚,维护方便。如图:
饭店将整个业务分解为三部分来完成,每一部分各负其责。
服务员只管接待顾客、向厨师传递顾客的需求---(UI);
厨师只管烹炒不同口味、不同特色的美食---(Bll);
后勤工作人员只管提供美食原料---(DAl);
他们三者分工合作共同为顾客提供满意的服务。 三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业(高内聚,低耦合)。
我们用三层结构开发的软件系统于此类似:
三层架构划分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL)
表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。
[三层具体知识]:
表现层(UI):展现给用户的界面,用于用户的操作处理。
业务逻辑层(BLL):对数据层的操作和业务的处理。接收用户的指令或者数据输入,提交给应用层做处理,同时负责将业务逻辑层的处理结果显示给用户。相比传统的应用方式,业务层对硬件的资源要求较低。
数据层(DAL):直接操纵数据库,主要是增删改查的功能。存储数据的数据库服务器和处理数据和缓存数据的组件。组件将大量使用的数据放入系统的缓存库,以提高数据访问和处理的效率。
1.业务逻辑层是整个三层的核心内容,分层的原理就是在客户端和数据库之间加一个“中间层”,对数据的访问起到一个承上启下的作用。两者的访问都是通过中间层进行的,不能直接联系。
2.三者之间的依赖关系的体现:
数据访问层的类,直接访问数据库,实现基本记录操作。
业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。
[三层?七层?]
其实没有所谓的什么七层,七层就是三层,七层是三层的分解。
1.数据层
①数据接口(IData) - 定义数据层接口 - 定义数据加工处理方法(调用数据工厂)
②数据服务(clsDataServer)- 数据最终处理的地方 - 直接与数据库交互 - 常用的SqlHelper.cs
③数据工厂(clsDataFactory)- 处理数据加工方式 - 实现数据加工处理方法 - 加工后交给数据服务层提交数据库
2.业务层
④业务接口(IBusiness) - 定义业务接口 - 定义业务逻辑处理方法(调用业务逻辑) - 直接与界面层交互
⑤业务逻辑(clsBusinessLogic)- 处理业务逻辑 - 实现业务逻辑处理方法 - 处理逻辑后交给数据层(调用数据接口)处理数据
⑥业务实体(clsBusinessModel)- 将数据实例化 - 便于程序取值/赋值 - 直接与界面层交互
3.⑦界面层 - 将界面控件的数据交给业务实体实例化,再将实例化的对象交给业务接口