设计模式是一套被反复使用、多数人直销的、经过分类编目的、代码设计经验的总结。shiy9og设计模式主要目的是为了额更好的获得可重用性,包括体系结构和实习那代码等的重用,能保证系统体系结构的正确性和代码的可靠性。

        设计模式一般分为3种:系统架构模式、通用职责分配软件模式(GRASP)、代码设计模式(如GoF的设计模式)。架构更加关注的是高层设计,架构是一组有关如何确定软件系统的组织结构的重要决策,以及接口和他们相互协作的行为的选择。模式关注的重点在于通过经验提取的“准则或知道方案”在设计中的应用。

        层模式,层体系架构模式其实就是把应用系统中的各个部分分解成各个不同的子任务或者子系统,其中的每个子任务组又都是各自处于一个特定的抽象层次上,每个子任务组彼此之间是i昂护隔离的,但每个层本身是职责内聚的。在JAVAEE开发中常见的将3层架构体系扩展为5层架构体系。3层:表示层、业务层、数据层。5层:表示层、控制层、业务逻辑层、数据持久层和数据存储层。5层架构其实是在标准的3层架构中加入了两个中间层。控制层位于表示层和业务逻辑层之间、数据持久层位于业务逻辑层和基础的数据存储层之间。

        层模式的优缺点。优点:构造应用系统时,架构设计师可以吧珍格格系统想想成是不同的 积木块构成的,这些积木块之间的关系一般体现为纵向分层和横向功能模块组件。这样可以将积木块进行扩展或进行替换。设计人员应该制定出各层的接口标准,曾与层之间进行关联是只通过接口进行连接、可以境地不同层之间的相互依赖程度。缺点:降低了或收据传送的效率,如在J2EE的多层架构系统中,如果实现在数据访问层中将某个数据对象传送到表示层,将要穿透过相关的许多层。

        门面模式Facade也称外观模式,外部系统(一般是一个客户端组件)与一个子系统之间的通信必须通过一个统一的门面组件对象进行。用门面模式的主要原因是在应用系统中,客户需要与子系统内部的许多不同对象进行交互,子系统的客户并不需要关注子系统的内部具体的实现细节。

        可以利用门面模式进行分离复杂的多对多关联的形式,如下类图所示:

改成门面模式如图:

        利用中介架构模式如图:

改成中介模式如图:

中介模式和门面模式有一定的相似之处,但是也有如下不同:门面模式用于客户端与子系统之间,而中介狗屎用于子系统与子系统之间。门面模式将系统中原有的复杂业务逻辑提取到一个同意的接口,简化客户端的访问者读后端各个服务的提供者逻辑的使用,他是被客户感知的,儿中介模式对于子系统中的另一个子系统是透明的。门面模式后端服务提供者之间可以是相互关联的二中介模式是断绝后端服务提供者之间的直接交互。

Logo

开源、云原生的融合云平台

更多推荐