设计原则小记
开闭原则
- 对扩展开放,对修改关闭,通过抽象定义框架,通过实现扩展细节
依赖倒置原则
- 高层模块不应该依赖底层模块,二者都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象,针对接口编程,而非针对实现编程,需要保证抽象稳定。
- 抽象通过入参,或者构造方法的方式注入。
单一职责原则
- 一个类,接口,方法只负责一项职责,代码逻辑最小粒度化。
- 类级别,对类进行拆分,负责职责最小。
- 接口级别,通过接口拆分,可实现多个接口,不同的接口,支持的方法不同。
- 法级别,方法不可拆分,职责明确。
接口隔离原则
- 实现需要的行为,不需要的不去实现 高内聚,低耦合的设计思想。
迪米特法则
- 最少知道原则,只关注出入参,与方法内部实现依赖的类没有关注。
里氏替换原则
- 一段程序,如果适用一个父类的话,一定也适用其子类,所有引用父类的地方必须能透明的使用其子类,子类对象能够替换父类对下,而程序逻辑不变
- 杜绝继承泛滥,想清楚应不应该继承,比如正方形和长方形不应该继承四边形,同时是开闭原则的一种体现。
- 子类可以扩展父类的功能,不能修改父类的功能
- 子类可以扩展父类的抽象方法,不能覆盖父类的非抽象方法
- 子类可以增加自己特有的方法
- 当子类方法重载父类方法时,方法的前置条件(输入,入参)要比父类方法的出入参更加宽松。
- 当子类方法重载父类方法时,方法的后置条件(输出,返回)要比父类方法的出入参更加严格或者相等。
合成复用原则
- 编写代码,尽量使用对象的组合或者聚合,而不是继承的关系来达到复用的目的
- 组合:具备相同的生命周期,比如人体,聚合有独立的生命周期,比如鼠标和键盘

浙公网安备 33010602011771号