软件构造 第六章第二节 可维护的设计模式

第六章第二节 可维护的设计模式

创造性模式:Creational patterns

  1. Factory Method pattern

使用非静态工厂:

静态方法:

 

符合了原则:Open-Closed Principle (OCP)

 

  1. Abstract Factory

方法:提供接口以创建一组相关/相互依赖的对象,但不需要指明其具体类

举例:

NetworkNetconnection,只有Computer/Server/Router, 和NetworkConnection,因此可以采用抽象工厂模式。

 

  1. Builder模式

1.创建复杂对象,包含多个组成部分

2.创建的是一个完整的产品,有多个部分组成,client 不需了解每个部分是怎么创建、各个部分怎么组合,最终得到一个产品的完整object

 

理解:对于要创建的pizza对象,由于有多种pizza类型,但是我们不选择派生pizza的子类,而是选择派生pizzaBuilder的子类,并重写方法:setxxx().

最后再调用的时候,需要再定义一个类waiter,构造函数中传入pizzabuilder,相当于聚合的方式。

并定义一个constrution()函数,创建pizza并根据set函数设置属性。

最后有一个getpizza函数来获得构建的pizza。

 

结构化模式:Structual patterns

桥接模式(Bridge Pattern

代理模式(Proxy Pattern

组合模式(Composite Pattern

 

行为化模式:Behavioral patterns

中介者模式(Mediator Pattern

观察者模式(Observer Pattern

访问者模式(Visitor Pattern

责任链模式(Chain of Responsibility Pattern

命令模式(Command Pattern

posted @ 2018-06-22 19:16  masteryellow  阅读(164)  评论(0编辑  收藏  举报