1. 开闭原则
对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。
2. 里氏代换原则
任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。
3. 依赖倒转原则
尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性
4. 接口隔离原则
尽量多使用小接口而不是大接口,避免接口的污染,降低类之间耦合度。
5迪米特法则(最少知道原则)
一个实体应当尽量少与其他实体之间发生相互作用,使系统功能模块相对独立。高内聚,低耦合。
6合成复用原则
尽量多使用合成/聚合的方式,而不是继承的方式。不好理解加段代码解释下。
public class Decorator implements Sourceable {
private Sourceable source;
public Decorator(Sourceable source) {
this.source = source;
}
@Override
public void method() {
source.method(); // 保证原有功能不变
System.out.println("创建对象时传参只需传递 Sourceable 的实现类。就能调用source的方法。");
}