设计模式7大原则

开闭原则

对扩展开放(对于提供方来说),对修改关闭(对于使用方来说)。

其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

里氏替换原则

https://blog.csdn.net/zhengzhb/article/details/7281833

里氏替换原则通俗的来讲就是:

任何父类出现的地方,子类一定可以出现替换。

子类可以扩展父类的功能,但不能改变父类原有的功能。

引用对象尽量使用接口或抽象类,而不是实现类,这主要是实现里氏替换原则的一个要求。

它包含以下4层含义:

  • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。

  • 子类中可以增加自己特有的方法。

  • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。

  • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

依赖倒置原则

先把需要的依赖抽象出来,然后再去根据抽象的依赖去实现细节。

面向接口编程,不要面向实现编程。

单一职责原则

一个类只负责一个功能领域中的相应职责。

接口隔离原则

使用多个专门的接口,而不使用单一的总接口。

简而言之:客户端不应该依赖它不需要的接口;类间的依赖关系应该建立在最小的接口上。

迪米特法则

  • 迪米特法则又叫做最少知道原则,就是说一个对象应当对其它对象有尽可能少的了解,不要和陌生人说话。

  • 强调只和朋友说话,不和陌生人说话。这里的朋友指的是:出现在成员变量,方法输入,输出参数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类。

  • 迪米特法则初衷在于降低类之间的耦合。由于每个类尽量减少对其它类的依赖,因此。很容易使得系统的功能模块独立,相互之间不存在(或很少有)依赖关系。

合成复用原则

尽量使用对象组合,而不是继承来达到复用的目的。

继承的缺点:

1.继承复用破坏了类的封装性。

2.子类与父类的耦合度高。

3.它限制了复用的灵活性。

你可能感兴趣的:(设计模式7大原则)