1、工厂模式(Factory Method): |
普通工厂模式:将工厂创建的方法变为接口,由使用方负责创建 https://www.jianshu.com/p/70f7fd47f2e2 |
3、单例模式(Singleton) | 运行时内唯一实例 |
4、建造者模式(Builder) |
多个对象组合起来 |
5、原型模式(Prototype) | 该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。 深克隆使用二进制数据复制 |
6、适配模式(Adapter Class/Object) | |
7、装饰模式(Decorator) |
https://www.jianshu.com/p/ff308c759f0a |
8、代理模式(Proxy) |
|
9、外观模式(Facade) |
|
10、桥接模式(Bridge) | 以JDBC为例: |
11、组合模式(Composite) |
就是 二叉树数据结构 |
12、享元模式(Flyweight) | 对象池功能 |
13、策略模式(strategy) | 策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户 |
14、模板方法模式(Template Method) |
定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用 |
15、观察者模式(Observer) |
AbstractSubject可以通知其他Observer更新 |
16、迭代子模式(Iterator) |
就是 队列数据结构 |
17、责任链模式(Chain of Responsibility) |
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 |
18、命令模式(Command) |
命令模式的目的就是达到命令的发出者和执行者之间解耦,实现请求和执行分开 Invoker只要执行Command就好 不关心Receiver是啥 |
19、备忘录模式(Memento) | 备份 恢复 |
20、状态模式(State) |
改变状态后行为就改变了 |
21、访问者模式(Visitor) |
通过定义不同的访问者 操作同一种数据得到不同的结果 |
22、中介者模式(Mediator) |
解决了user1、user2的互相引用 |
23、解释器模式(Interpreter) |
提供了一个上下文环境, plus minus需要的数据都从Context中获取 |
结构备份:
MVC结构、PC结构、蜘蛛网结构、分层结构、积木结构、蜂巢结构