面向对象设计原则

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、单一原则

  一个类只做一件事情

 

posted @ 2021-12-25 13:47  CcYcHu  阅读(32)  评论(0)    收藏  举报