面向对象设计七大原则学习
面向对象设计原则 -> OLDSILC
开闭原则(Open Close Principle)
含义
不要修改源码, 进行扩展功能。
实现
定义抽象父类进行约束, 封装具体实现类。
里式替换原则(Liskov Substitution Principle)
实现
子类不修改父类方法。
依赖倒置原则(Dependence Inversion Principle)
含义
面向接口编程。
实现
定义变量, 声明类型为接口或者抽象类。
UML
单一职责原则(Single Responsibility Principle)
含义
一个类有且只有一个引起它变化的原因, 否则就拆分它。
实现
将类里面的不同职责进行分离, 再分装到不同的类或模块。
UML
接口隔离原则(Interface Segregation Principle)
含义
一个类对另一个类的依赖应该建立在最小接口上。
实现
拆分接口。
UML
迪米特法则(Law of Demeter) 最少知识原则(Least Knowledge Principle)
含义
如果两个类不需要直接通信, 那就不应该直接互相调用, 而通过中间类来转发该调用
实现
- 在类结构设计上, 降低类成员的访问权限
- 在类的设计上, 优先设置成不变类
- 降低引用其他类的次数
- 使用私有属性, 公有方法
- 谨慎 Serializable
UML
合成复用原则(Composite Reuse Principle)
含义
软件复用时, 使用组合或者聚合等关联关系, 其次才考虑使用继承关系。
实现
将已有的对象纳入新对象中, 作为新对象的成员对象来实现。
UML