表示层即用户界面层,为用户提供了一种交互操作的界面。
2.2.2 分层架构的利弊分析
(1) 分层架构的优点
开发人员的专业分工,专注理解某一层。由于某一层仅仅调用其相邻下一层所提供的程序接口,只需要本层的接口和相邻下一层的接口定义清晰完整,开发人员在开发某一层时就可以将关注集中于这一层所用的功能和技术。
可以很容易用新的实现来替换原有层次的实现。只要前后提供的服务(接口)相同,即可替换。系统开发过程中,功能需求不断变化我们可以替换现有的层次以满足新的需求变化。
降低了系统间的依赖。比如业务逻辑层中的业务发生变化,其他两层即表现层以及数据访问层程序也不需要变化。这大大降低了系统各层之间的依赖。
有利于复用。充分利用现有的功能程序组件,将已经辨识的具有相对独立功能的层应用于新系统的开发,保证新系统开发的过程中,能够将重点集中于辨识和实现应用系统特有的业务功能,最终缩短系统开发周期,提高系统的质量。
(2) 分层架构的弊端
级联修改问题。一些复杂的业务中,由于业务流程发生变化,为了这个变化所有层都需要修改。
性能问题。本来是直接简单的操作,现在需要在整个系统中层层传递,势必造成性能的下降,同时也加大开发的复杂度。
从上面的分析可以看出,分层架构设计有许多优点同样存在不足,在实际使用过程中,我们应该权衡利弊关系,选择一种符合实际项目的最佳方案。
2.2.3 分层架构设计的基本原则
针对分层架构的特点,结合常用设计方法简单描述一些在分层架构设计中的一些原则。
(1) 单一职责原则
在面向对象程序设计中,任何一个操作类都应该由单一的职责,属于单独的一层,而不能同时负担两种职责或属于多个层次,比如实体类及辅助类可以被多个层使用,但他们不属于任何一个层,而是独立存在,这也能增强系统层次的内聚。
(2) 开放—关闭原则
开放—关闭原则定义为:对扩展开放,对修改关闭。
具体到分层架构中,可以描述为:当某一层有了一个新的具体实现时,他应该可以在不修改其他层的情况下,于此新实现无缝连接,顺利交互,降低了系统层次间的依赖。
(3) 依赖倒置原则
在软件设计原则中,有一种重要的原则叫依赖倒置。它的核心思想是:高层组件不能依赖底层组件,低层组件也不能依赖高层组件,两者都应该依赖于抽象。这里说的“依赖”是指“抽象层”。
抽象层包含的应该是应用系统的抽象逻辑,通过对整个系统的需求分析把那一些最稳定的、最有必要的元素抽象出来,把这层将来会改变的可能想降低到最低。具体层次跟具体业务相关代码是经常变动的,这样更能体现良好的可扩展性以及开封原则。
(4) 针对接口编程,而不是针对实现编程
这里所指的接口,是指一种抽象的,在语义层面上起着结合作用语义体。它的具体实现,可能是接口,可能是抽象类,甚至可能是具体类。
具体到N层架构中,针对接口编程的意义在部分上是这样的:
现在约定将N层架构的各层次编号为1、2、…、K、…、N-1、N,其中层的编号越大,则越处在上层,那么第K层不应该依赖具体一个K-1层,而是应该依赖一个K-1层的接口,即在第K层中不应该有K-1层中的某个具体类。 ANSYS海洋浮式平台分析设计校核一体化软件(4):http://www.youerw.com/jisuanji/lunwen_13295.html