面向对象设计原则
-
开闭原则
对扩展开放,而对修改关闭,在需求改变时,在不修改源代码的情况下,可以扩展模块功能,使其满足新的需求。 -
里氏替换原则
子类可以扩展父类的功能,但不能改变父类原有的功能。如果要修改,则可以实现父类的抽象方法。 -
依赖倒置原则
高层模块不应该依赖于底层模块,核心思想为:面向接口编程(抽象),不要面向实现(具体实现类)编程。例如现有商店类和客户类,客户类购买商品需要到具体的商店购买,因此客户类的购买方法应该传入具体的商店类,而到不商店购买商品时需要修改代码到指定的商店(依赖于具体的实现类),因此,我们应该定义抽象的商店接口(面向接口编程),从而避免修改源代码。 -
单一职责原则
尽量降低每一个类的复杂度 -
接口隔离原则
尽量降低每一个接口的复杂度