架构师第三课总结
本节课程主要讲了系统设计中的设计模式
1、什么是设计模式
每一种模式都描述了一个问题的通用解决方案。这种问题在我们的环境中,不停的出现。
设计模式是一种可重复使用的解决方案
2、一个设计模式的四个部分
模式的名称 -- 有少量的字组成的名称,有助于我们表达我们的设计
待解决的问题 -- 描述了何时需要运用这种模式,以及运用模式的环境
解决方案 -- 描述了组成设计的元素、它们的关系、职责以及合作。但这种解决方案是抽象的,他不代表具体的实现
结论 -- 运用这种方案所带来的利和弊。主要是他对系统的弹性、扩展性和可移植性的影响
3、设计模式的分类
创建模式
结构模式
行为模式
类模式
对象模式
4、单例模式的使用优点
单例模式保证产生单一实例,就是说一个类只产生一个实例,只有一个实例,可以减少实例频繁创建和销毁带来的资源消耗
当多个用户使用这个实例的时候,便于进行统一控制
5、模版方法的模式
模版方法模式是扩展功能的最基本模式之一,他是一种类的行为模式
他是通过继承的方法来实现扩展,基类负责算法的轮廓和骨架,子类负责算法的具体实现
6、模版方法的使用场景
重构系统时,将一个大的方法打破,编程多个可扩展的步骤,
将if/else 或switch语句改成多态性
7、模版方法可能产生的问题
将抽象算法和具体步骤耦合在一起,不能独立演化
造成类的数量很多、类的层次很深。
8、策略模式
策略模式是扩展功能的另一种最基本的模式,他是通过组合的方法来实现扩展
策略模式将使用策略的人与策略的具体实现分离,策略对象可以自由组合,这是策略模式的优点
策略模式仅仅封装来算法的具体实现,方便添加和替换算法。但他并不关心何时使用何种算法,这个必须由客户端决定
9、组合模式
组合模式是一种对象的结构模式
一般在文件系统中使用
10、装饰器模式
装饰器模式也是一种对象的结构模式,他是在不改变客户端的接口的前提下,扩展现有对象的功能
评论