开闭原则:对修改关闭,对扩展开放
思考方法:
说法一:考虑什么会引起改变,而不让这种改变影响你的设计,这种改变是问题域的变化,而不是条件语句般的改变。
说法二:找到一个系统的可变因素,将他封装起来。也就是说对可变性的封装。
一种可变性不应当散落到代码的很多角落里,而应当封装道一个对象里边。继承应当看做封装变化的方法,不不应被认为是由一般对象生成特殊对象的方法。
一种可变性不应当和另一种可变性混在一起。
依赖倒转原则:依赖于抽象,而不要依赖与具体的实现。
合成和聚合复用原则:尽可能利用合成和聚合,而不是继承关系来达到复用的目的。
迪米特法则:一个软件实体应尽可能少的与其他实体发生相互作用,以限制通信的深度和宽度。
接口隔离原则:提供尽可能小的接口,而不是大而全的接口。
思考方法:
说法一:考虑什么会引起改变,而不让这种改变影响你的设计,这种改变是问题域的变化,而不是条件语句般的改变。
说法二:找到一个系统的可变因素,将他封装起来。也就是说对可变性的封装。
一种可变性不应当散落到代码的很多角落里,而应当封装道一个对象里边。继承应当看做封装变化的方法,不不应被认为是由一般对象生成特殊对象的方法。
一种可变性不应当和另一种可变性混在一起。
依赖倒转原则:依赖于抽象,而不要依赖与具体的实现。
合成和聚合复用原则:尽可能利用合成和聚合,而不是继承关系来达到复用的目的。
迪米特法则:一个软件实体应尽可能少的与其他实体发生相互作用,以限制通信的深度和宽度。
接口隔离原则:提供尽可能小的接口,而不是大而全的接口。