几个基本的设计原则
面向对象的分析设计有很多原则,这些原则从思想层面上给我们指出分析设计的正确方向。而设计模式就是这些设计原则的一些具体体现,它是针对某个场景下某些问题的某个解决方案。
一、单一职责原则
一个类应该仅有一个引起它变化的原因(即它只有一个职责)。
二、开闭原则、里氏代换原则、依赖倒转原则
开闭原则:软件实体应当对扩展开放,对修改关闭。
里氏代换原则:任何基类可以出现的地方,子类一定可以出现。
让子类继承父类或实现父类接口,并实现在父类中声明的方法,运行时,子类实例替换父类实例,可以很方便地扩展系统的功能,无须修改原有子类的代码,增加新的功能可以通过增加一个新的子类来实现。
依赖倒转原则:不应该是抽象依赖于具体,而应该是具体依赖于抽象。
很多人觉得层次调用的时候该有高层调用“底层接口”这是一种典型的误解。事实上,一般高层模块包含对业务功能的处理和业务策略选择,应该被重用,是高层模块去影响底层的具体实现。
开闭原则(OCP)是面向对象中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段和基础(比如依赖倒转原则、里氏替换原则)。
三、合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的。
四、接口隔离原则
使用多个专门的接口,而不使用单一的总接口。
五、最少知识原则
降低类之间的耦合。一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
......
面向接口编程原则