zoukankan      html  css  js  c++  java
  • 软件构造 第六章第二节 可维护的设计模式

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

    创造性模式: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

  • 相关阅读:
    PHP算法练习2:(175. 组合两个表)
    swoole(4)网络服务模型(多进程master-worker模型)
    swoole(3)网络服务模型(单进程阻塞、预派生子进程、单进程阻塞复用模型)
    swoole(2)swoole进程结构
    Shell glob
    NSInteger和BOOL的底层类型
    Mac OS X和iOS上基本数据类型的字节数
    LP64是什么意思
    Lenovo Y430P安装Linux无线网卡
    JavaScript中的原型继承原理
  • 原文地址:https://www.cnblogs.com/masteryellow/p/9215199.html
Copyright © 2011-2022 走看看