《软件工程与计算(卷二)》-Chapter16-详细设计中的设计模式

可修改性:
包含的质量:
可修改性
可扩展性
灵活性
方法: 需要能够将接口和实现分离
 
观察者模式
《软件工程与计算(卷二)》-Chapter16-详细设计中的设计模式
 
设计模式(Design Pattern):P263
策略模式:
抽象Strategy,实现不同的ConcreteStrategy方法,Context拥有Strategy的一个引用。
优点
减少算法类与使用算法类之间的耦合
提供可重用方法
简化单元测试
扩展性好
缺点
策略类增多
策略需要对外暴露
《软件工程与计算(卷二)》-Chapter16-详细设计中的设计模式
 
抽象工厂模式:
AbstractFactory声明接口,ConcreteFactory实现对产品的创建。
AbstractProduct定义产品接口,ConcreteProduct实现具体工厂创建出来的产品,实现接口。
Client使用AbstractFactory和AbstractProduct来创建。
优点
易于交换产品系列
具体的创建实例过程与客户端分离(不知道用的到底是SQL还是mysql)
符合OCP
缺点
扩充困难
 
单件模式:
Singleton提供访问单件的接口,负责实现单件。
Client通过getInstance使用单件。
《软件工程与计算(卷二)》-Chapter16-详细设计中的设计模式
 
迭代器模式:
Iterator定义访问和遍历的接口,ConcreteIterator实现接口。
Aggregate定义创建相应迭代器对象的接口,ConcreteAggregate实现接口。
《软件工程与计算(卷二)》-Chapter16-详细设计中的设计模式