设计模式的几个原则:
开-闭原则是指模块应对扩展开放,而对修改关闭。模块应尽量在不修改原代码的情况下进行扩展。
里氏代换原则的核心思想是强调子类必须能够替换基类而不影响程序的正确性。
就是说要少用继承,多用合成关系来实现。
例如 : 有几个类要与数据库打交道,就写了一个数据库操作的类,然后别的跟数据库打交道的类都继承这个。结果后来,修改了数据库操作类的一个方法,各个类都需要改动。"牵一发而动全身"!
面向对象是要把波动限制在尽量小的范围。
依赖倒置原则(DIP,Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
在设计接口的时候,我们可以参考以下几点规约:
接口要尽量小这个也是接口隔离原则定义中的核心点,不出现臃肿的接口(Fat Interface),但是“小”是有限度的,首先就是不能违反单一职责原则,因此,我们在设计接口的时候,也要站在业务角度考虑。
接口要高内聚什么是高内聚?高内聚就是提高接口、类、模块的处理能力,减少对外的交互。具体到接口隔离原则就是,要求在接口中尽量少公布public方法,接口是对外的承诺,承诺越少对系统的开发越有利,变更的风险也就越少,同时也有利于降低成本。
单一职责原则核心思想是:一个软件实体(类、模块、函数等)应当仅有一个引起它变化的原因。这一原则通过职责分离,降低系统复杂度,提升可维护性与稳定性。