架构设计思考
2021-03-05 10:43:28 1 举报
AI智能生成
23种设计模式和OOD原则描述,深入剖析常用的设计模式和应用场景,以及OOD面向对象设计原则。
作者其他创作
大纲/内容
设计模式
创建型模式
抽象工厂(AbstractFactory)
sample factory
abstract factory
建造者(Builder)
案例
工厂方法(FactoryMethod)
图
原型模式(Prototype)
浅度克隆
深度clone
单例模式(SingleTon)
饿汉模式
静态初始化
懒汉模式
双重锁定(方法线程安全)
静态内部类
1、简单工厂负责一个单一产品创建,2、抽象工厂负责多个产品抽象并创建
利用序列化字节复制实现深度克隆
结构型模式
适配器模式(Adapter)
将一个类的接口转换成客户希望的另外一个接口
使接口不兼容能够协同工作
类适配器
对象适配器
桥接模式(Bridge)
组合模式(Composite)
透明模式
安全模式
leaf节点存在操作子节点的方法
leaf节点没操作子节点的方法
装饰器模式(Decorator)
外观模式(Facade)
享元模式(Flyweight)
代理模式(Proxy)
其核心是分离和委托。 分离抽象部分和实现部分,隐藏实现部分。例如JVM的实现
安全模式leaf没有add和remove
动态地给一个对象添加额外的职责。就增加功能来说,装饰器模式相比生成子类更加灵活
为子系统中的一组接口提供一个一致的门面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,如: MVC
为运用共享技术有效地支持大量细粒度的对象。例如:数据库连接池、线程池等
为其他对象提供一种代理以控制对这个对象的访问
行为型模式
通过把不变行为搬移到超类,去除子类中的重复代码
用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合
if else switch 分支的情况下,采用状态模式更加合理
观察者模式(Observer)
Publish/Subscribe模式-发布订阅模式
事件委托
把变化通知委托给EventHandler去通知观察者
模板方法(TemplateMethod)
命令模式(Command)
状态模式(State)
策略模式和状态模式是双胞胎,它们有相同的类图
改变对象内部的状态,对象控制自己的行为
职责链模式(ChainOfResponsibility)
行为型模式-2
解释器(Interpreter)
中介者(Mediator)
访问者(Visitor)
策略模式(Strategy)
备忘录模式(Memento)
迭代器模式(Iterator)
总结
架构设计思考
OOD设计原则
单一职责原则(SRP)
里氏替换原则(LSP)
接口隔离原则(ISP)
迪米特法则(LOD)
开闭原则(OCP)
依赖倒置原则(DIP)
合成/聚合复用原则【CARP】
REP,重用发布等价原则,重用的粒度就是发布的粒度
CCP,共同封闭原则,包中的所有类对于同一类性质的变化应该是共同封闭的。
CRP,共同重用原则,一个包中的所有类应该是共同重用的。
ADP,无环依赖原则,在包的依赖关系图中不允许存在环。
SDP,稳定依赖原则,朝着稳定的方向进行依赖。
SAP,稳定抽象原则,包的抽象程度应该和其稳定程度一致。
0 条评论
回复 删除
下一页