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

  • 相关阅读:
    设计数据密集型应用(中英双语)
    缓存设计中的热点问题讨论
    Python Twisted
    Python-memcached的使用用法
    四款免费好用的Bootstrap ui编辑器
    8个强大的基于Bootstrap的CSS框架
    盘点国内网站常用的一些 CDN 公共库加速服务
    分布式缓存系统 Memcached 快速入门
    函数缓存 (Function caching)
    Golang新开发者要注意的陷阱和常见错误
  • 原文地址:https://www.cnblogs.com/masteryellow/p/9215199.html
Copyright © 2011-2022 走看看