1. 封状变化
找出应用中可能需要变化之处,把它们独立出来, 不要和那些不需要变化的代码混在一起。
区分可变及不变因素,对可变因素进行封装,一般用接口封装,达到可以随时替换可变因素而程序结构无需变动。
对于变化部分尽量用接口封状。
2.针对接口编程,应用接口不同的实现对程序结构无影响
3.单一职责 可以降低耦合度
每一个类都有一个清晰明了的职责,只做自己的事情,不要加入与自己主要职责无关的其它职责。
功能的粒度更细小,更加容易组合实现业务功能。
4.多组合少继承
不要为了代码复用而使用继承,在利用多态时使用继承。
多态可以保证上层结构不变的情况下,行为的改变。对于继承实现的子类,其行为是固定的,不可变,而子类使用组合,该子类就可能有更多的行为
继承+组合可以达到更大的灵活性。
5.最少知识原则-最少有朋友(迪米法特原则)
1.对象之间尽量少的关联,依赖。
2.关联的对象间尽量少的了解对方。(可以使用接口耦合,而不是具体类耦合)
6.开放-关闭原则(Open Close Principle)
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。
开闭原则的对象:骨架类的核心结构、接口声明等。
对扩展开放:对接口或抽像类等进行扩展,来实现新的功能。
对修改关闭:接口中明确定义的方法或骨架类的核心结构,不要轻易的修改。