一. 设计模式原则
-
单一原则(职责单一且明确)
一个类应该只有一个发生变化的原因。
-
开闭原则(扩展开发,修改关闭)
软件开发中对扩展开发,对修改关闭。
-
里氏替换原则(父类和子类之间的关系)
子类可以扩展父类的功能,但不能改变父类原有的功能。子类继承父类时,除添加新的方法完成功能外,尽量不要重写父类的方法。
-
迪米特原则(类与类之间保持弱耦合关系)
最少知道原则。一个对象类对其他对象知道的越少越好。保持最少的关联性。
-
接口隔离原则(接口按功能细分)
将臃肿庞杂的接口拆分成更小的更具体的接口,让接口只包含消费者感兴趣的内容。
-
依赖倒置原则(依赖抽象接口,不依赖具体对象)
代码设计时,高层模块不应该依赖于底层模块,二者应该都依赖于抽象
二. 常用设计模式
-
创建型
- 简单工厂
- 工厂方法
- 抽象工厂
- 建造者模式
- 原型模式
- 单例模式
- 结构型
- 装饰器模式
- 适配器模式
- 代理模式
- 享元模式
- 门面模式
- 行为型
- 责任链模式
- 模版模式
- 监听者模式
- 策略模式
三.类依赖关系
-
关联关系 对象之间的一种引用关系。
1.单向关联:一个带箭头的实线表示,箭头指向被引用的类。
2.双向关联:一个不带箭头的直线表示
-
聚合关系 整体和部分之间的关系,空心菱形的实线表示,菱形指向整体。
-
组合关系 表示类之间整体和部分的关系,是一种更加强烈的关系,使用带实心菱形的实线来表示,菱形指向整体
-
依赖关系 是一种使用关系,是对象之间耦合度最弱的一种关联方式,是临时性的关联。 使用带箭头的虚线表示,箭头从使用类指向被依赖的类。
-
继承关系 是对象之间耦合度最大的一种关系,表示一般和特殊的关系,使用空心三角箭头的实线来表示。
-
实现关系 是接口与实现类直接的关系,使用空心三角箭头的虚线表示,箭头从实现类指向接口。