-
找出应用中可能需要变化之处,独立出来
-
针对接口编程,而不是针对实现编程
-
多用组合,少用继承
-
松耦合,高内聚
-
对扩展开放,对修改封闭
-
依赖倒置原则(工厂方法):在工厂方法里,高层组件抽象工厂类依赖抽象产品类,而低层组件的具体产品类也依赖抽象产品类。
-
要依赖抽象,而不要依赖具体类原则:不能让高层组件依赖低层组件。而且二者都应该依赖于抽象。
-
控制反转(模板方法):我们经常把控制逻辑写在其他地方(如Framework)而非客户化的代码里,这样就可以更加专注于客户化的逻辑。也就是由外部逻辑负责调用客户化的逻辑。
-
依赖注入:外部程序把服务对象通过某种方式注入到客户对象供其使用的方法称为依赖注入。