1、单一职责原则
一个类最好只有一个引起它变化的因素。(Single Responsibility Principle)
单一职责原则建议,最好一个类只承担一个变化,即将不同的变化封装到不同的类中。
2、开放与封闭原则
程序的设计应该对修改是封闭的,对扩展是开放的。(Open-Closed Principles)
封闭的设计:一个方法的修改不会影响到其他模块。
程序的开放:当新的需求到来时,添加新的模块不会影响已有模块。
3、多用组合少用继承
使用组合可以让系统有更大的弹性,不仅可以将算法族封装成类,还可以在运行时动态地改变对象的行为。
4、面向接口编程
接口就是模块的上层部分,在较好的面向对象设计程序中,上层模块中通常都是包含抽象方法的抽象类,而继承它们的子类要提供这些方法的实现。这些子类叫做接口的实现(Implementation)