架构师训练营 - 第三周总结

发布于: 19 小时前

设计模式的定义

每一种设计模式都描述了一种问题的通用解决方案。设计模式可以在对应的场景下将问题拆解简单化,提高可维护性,并可以合理的分工。

一个设计模式分为四个部分

1、模式的名称:有助于表达我们的设计。

2、何时运用对应的设计模式(根据不同的场景上下文)。

3、解决方案:描述了组成设计的元素(类和对象)、它们的关系、职责以及关联,这种解决方案是抽象的,并不太表具体的解决方案。

4、结论:运用这种方案所带来的利与弊,主要指它对系统的弹性、扩展性和移植性的影响。

设计模式的分类

根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:

• 创建型模式主要用于创建对象。

• 结构型模式主要用于处理类或对象的组合。

• 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。

根据范围(模式主要是用于处理类之间关系还是处理对象之间的关系)可分为类模式和对象模式两种:

•类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。

•对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。

设计模式的案例

适配器模式

适配器模式就是把事物和其具体实现分开,使他们可以各自独立的变化。适配器的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来适配就行了。

组合模式

组合模式又叫部分-整体模式,在树型结构中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。

装饰器模式

允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。

模版方法模式

定义流程,并提供扩展点给客户端进行必要的扩展,在框架设计时用来定义方法的流程。

策略模式

多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句。策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算法族的公共代码转移到父类里面,从而避免重复的代码。策略模式可以提供相同行为的不同实现,客户可以根据不同时间或空间要求选择不同的。策略模式提供了对开闭原则的完美支持

发布于: 19 小时前 阅读数: 5
用户头像

teslə

关注

还未添加个人签名 2018.08.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 第三周总结