/design-pattern

Primary LanguageJavaApache License 2.0Apache-2.0

Design Pattern

一、创建型模式

创建型模式提供创建对象的机制,用于提升代码的可复用性和灵活性。

singleton 单例模式

factory method 工厂方法

abstract factory 抽象工厂模式

builder 建造者模式

prototype 原型模式

二、结构型模式

结构型模式介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。

adaptor 适配器模式

bridge 桥接模式

composite 组合模式

decorator 装饰模式

facade 外观模式

flyweight 享元模式

proxy 代理模式

三、行为模式

行为模式负责对象间的高效沟通和职责委派。

责任链模式 chain of responsibility

命令模式 command

迭代器模式 iterator

中介模式 mediator

备忘录 memento

观察者模式 observer

观察者模式定义了对象之间的一对多依赖,这样,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

观察者模式 = 发布者(主题) + 订阅者(观察者)

观察者模式提供了一种松耦合的对象设计,让主题和观察者之间可以交互,但是不太清楚彼此之间的细节。

任何时候,我们都可以增加新的观察者,删除旧的观察者,因为主题唯一依赖的是一个实现了观察者接口的对象列表。

当有新类型的观察者出现时,主题的代码也不需要修改。只需让新的观察者实现观察者接口,注册为该主题的观察者即可。

状态模式 state

策略模式 strategy

策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

模板方法 template method

访问者模式 visitor