面向对象设计原则
a、开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。
可以通过“抽象约束、封装变化”来实现开闭原则,即通过接口或者抽 象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在 相同的具体实现类中。而软件中易变的细节可以从抽象派生来的实现类来 进行扩展,当软件需要发生变化时,只需要根据需求重新派生一个实现类 来扩展就可以了。
b、里氏代换原则(Liskov Substitution Principle)
继承必须确保超类所拥有的性质在子类中仍然成立。也就是说:子类 继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法或者父类抽象,否则可能引起一些不必要的麻烦。
c、依赖倒转原则(Dependence Inversion Principle)
要面向接口编程,不要面向实现编程。高内聚,低耦合(子类间没有联系)。
1. 每个类尽量提供接口或抽象类,或者两者都具备。
2. 变量的声明类型尽量是接口或者是抽象类。
3. 任何类都不应该从具体类派生。
4. 使用继承时尽量遵循里氏替换原则。
d、接口隔离原则(Interface Segregation Principle)
要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让 接口中只包含客户感兴趣的方法。
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还 是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是 一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以 上文中多次出现:降低依赖,降低耦合。
e、迪米特法则(最少知道原则)(Demeter Principle)
只与你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to strangers)。其含义是:如果两个软件实 体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转 发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。
f、合成复用原则(Composite Reuse Principle)
原则是尽量使用合成/聚合的方式,而不是使用继承。如果要使用继承 关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅 相成的,两者都是开闭原则的具体实现规范。
g、单一原则
一个类只做一件事情

浙公网安备 33010602011771号