zoukankan      html  css  js  c++  java
  • GOF 23种设计模式

    设计模式 Java 版
    图说设计模式

    设计模式,就是对软件设计中各种常见场景的编码套路。套路知道的多了,代码就敲的轻松。

    分类

    创建型设计模式 Creational Pattern

    创建型设计模式描述了如何创建类,对类的实例化过程进行了抽象,将软件模块中对象的创建和使用分离。在使用这些对象时只需要知道接口,而不用知道细节。

    • 简单工厂模式 Simple Factory:工厂类根据传入的参数决定创建出那一种产品类的实例
    • 工厂方法模式 Factory Method:定义一个创建对象的接口,让实现了这个接口的具体子类来实例化产品
    • 抽象工厂模式 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类
    • 原型模式 Prototype:通过复制已有实例来创建新的实例
    • 单例模式 Singleton:一个类只能有一个实例
    • 建造者模式 Builder:封装复杂对象的构建过程

    结构型设计模式 Structural Pattern

    结构型设计模式描述了如何实现类和对象的组合。

    结构型设计模式可以分为类结构型模式(关心类的组合,一般只存在继承关系和实现关系)和对象结构型模式(关心类与对象的组合,通过关联关系使得在一 个类中定义另一个类的实例对象,然后通过该对象调用其方法)。根据合成复用原则,尽量用关联关系,少用继承关系,因此大部分结构型设计模式都是对象结构型模式。

    • 适配器模式 Adapter:使得原本由于接口差异而不能一起工作的类可以一起工作
    • 桥接模式 Bridge:分离抽象和实现,使其可以独立变化
    • 组合模式 Composite:将对象组合成树形结构
    • 装饰模式 Decorator:动态扩展对象的功能,增加额外职责
    • 外观模式 Facade:增加抽象层,对外提供统一接口
    • 享元模式 Flyweight:通过共享技术来支持大量细粒度的对象
    • 代理模式 Proxy:增加代理层,为其他对象提供代理以控制对这个对象的访问

    行为型设计模式

    行为型设计模式描述了类和对象怎样交互,以及如何分配职责。

    • 职责链模式 Chain of Responsibility:请求的发送与接收解耦,每个接收者都包含对下一个接收者的引用,连接成一条链,并且沿着这条链传递请求,直到有对象处理
    • 命令模式 Command:
    • 解释器模式 Interpreter:
    • 迭代器模式 Iterator:
    • 中介者模式 Mediator:
    • 备忘录模式 Memento:
    • 观察者模式 Observer:一对多的依赖关系。当观察的目标对象状态发生变化时,所有依赖于它的观察者都将得到通知。
    • 状态模式 State:
    • 策略模式 Strategy:将每个算法封装成独立的类,所有类之间可以互换,根据情况调用不同的类。
    • 模板方法模式 Template Method:定义好算法的骨架后,将一些步骤的实现延迟到子类中。子类可以复用算法结构,同时可以重写算法的某些特定步骤。
    • 访问者模式 Visitor:
  • 相关阅读:
    Tornado输出和响应头
    sqlalchemy 学习(二)scoped session
    04:sqlalchemy操作数据库 不错
    sqlalchemy(二)高级用法
    红黑树
    Minimum Window Substring
    Max Points on a Line
    分治算法
    Maximum Subarray
    Word Break
  • 原文地址:https://www.cnblogs.com/kika/p/10851570.html
Copyright © 2011-2022 走看看