对接口编程,而不是对实现编程
优先使用对象组合而不是继承
创建模式(Creational):对象创建
结构模式(Structual):对象关系
行为模式(Behavioral)对象数据传递
开闭原则(Open Close Principle):对扩展开放,对修改封闭
里氏代换原则(Liskov Substitution Principle):任何基类出现的地方,子类一定可以出现
依赖倒换原则(Dependence Inversion Principle):针对接口编程,依赖于抽象而不是具体。
接口隔离原则(Interface Segregation Principle):使用多个隔离的接口,比使用单个接口要好。
迪米特法则(Demeter Principle):一个实体应该尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立
合成复用原则(Composite Reuse Principle):尽量使用合成/聚合的方式.而不是使用继承