您的位置:首页 > 运维架构 > 网站架构

机房重构之--七层架构

2015-11-09 08:03 543 查看
  经过软件工程的洗礼,秉承着软件“高内聚、低耦合”的开发原则,对机房系统设计要尽量达到解耦、易维护、易扩展的目的,对系统结构设计为如下七层:



  分这么多层是实现软件灵活性的必须要求,但是这些层的作用都是什么呢?

  (1)UI(User Interface):表示层,负责与用户进行交互,显示、接受数据,也做一些简单逻辑处理,如:输入数据有效性判断、显示各种异常、处理Dataset(内存中虚拟数据库)记录集数据。只与外观层(Façade)、实体类(Entity
Class)两个项目发生关联。

  (2)Façade:外观层,负责整合业务逻辑层的方法,为一些有共性的方法提供统一的接口,以供UI层调用。只与业务逻辑层(BLL)、实体类(Entity Class)有关联关系。

  (3)BLL(Business Logic Layer):业务逻辑层,业务逻辑层是系统的核心,它承担了所有的逻辑判断,实现了程序的功能,它是灵活的。B层既是调用者,又是被调用者,因此,要适当的进行设计达到解耦的效果。虽然B层被Facade层调用,但是B层不用去了解U层的情况。程序每一个功能在B层都对应一个类。只与工厂(Factory)、接口层(IDAL)、实体类(Entity)有关联关系。

  (4)IDAL:接口层,对数据访问层的方法进行抽象,是调用数据访问层方法的接口,提高了系统的可扩展、可维护性,更换数据库等操作更加方便。只与实体类(Entity)有关联关系。

  (5)DAL(Data Access Layer):数据访问层,提供数据访问的方法,不储存逻辑。在接口中对数据库操作语句进行组合装配。数据访问层是数据库的管理者,但不是访问者,不直接与数据库发生关联。数据库中每个表都对应一个数据访问层的
(访问控制)类。在数据访问层中有SQLHelper类,专用于存放公用的访问数据库方法以让其他访问控制类调用,实现代码复用。
数据访问层只与接口层(IDAL)、实体类(Entity)有关联关系。

  (6)Factory:工厂层,用于创建接口对象,是业务逻辑层与接口层的桥梁,对二者进行解耦合。Factory就是是设计模式中的简单工厂模式(请猛点这里)中的简单工厂了,专门用于创建接口。工厂层只与接口层(IDAL)有关联关系。

  (7)Model:Model层中保存的都是实体类(Entity Class)相当于加强的数据结构,实现了对数据的封装。数据库中每个表都对应一个实体类,表的字段就是实体类的属性,类型一一对应。UI、BLL、DLL三层的交互主要就是通过实体类作为参数,并返回信息。实体类不与任何层发生关联关系。

  小结:虽然层数比较多,但它只是将单独的功能分了出来,形成了新的模块,并没有额外添加多余的功能,所以,分层应该是简化了系统,而不是复杂化了系统,就好比,原先大家都在一块做饭、洗衣服,现在分出来了,洗衣服的分配洗衣房,做饭的分配厨房,功能明确了,耦合度降低了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: