最近在学习三层架构,三层的核心思想就是“解耦”。三层就好比我们去饭店吃饭,服务员只负责接收订单,厨师只管烹饪,采购员只管提供客人需要的蔬菜、肉类等。它们三者之间各司其职,互不影响,从而保证了饭店业务的正常运行。 这里我们讲的三层是逻辑上的三层,分为表示层、业务逻辑层和数据访问层。饭店中的服务员、厨师和采购员就相当于三层中的表示层、业务逻辑层和数据访问层 表示层(UI) 表示层位于最外层,与用户亲密接触,用于显示数据和接收用户输入的数据,为用户直接的提供一种交互式操作的界面。在.Net中,表示层往往是一个Form窗体。 业务逻辑层(BLL) 业务逻辑层位于中间层,解除表示层与数据访问层之间的依赖。业务逻辑层负责处理业务逻辑。通过获取UI传来的操作指令,确定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要的数据给UI。 数据访问层(DAL) 数据访问层位于最底层,与数据库连接,对数据库中的数据进行增、删、改、查。 实体层(Entity) 实体层不属于三层中的任何一层,但它却是三层中不可或缺的一层。实体层是一个独立的类,贯穿于三层中的每一层,进行数据传递。就我目前的理解,实体类对应的是数据库的一张表,其中的属性对应表中的字段。各层之间的数据通过实体变量来完成数据传递。一张图表示它们之间的关系。
总结: 三层架构融合了面向对象的思想,各层之间的调用都是通过实体来实现的。当然,这只是一个简单的三层例子,三层还需要不断的完善。设计模式和三层的结合才能体现出面向对象的伟大之处。
|