常见的面向对象设计原则

来源:互联网 发布:宏编程鼠标lol算开挂吗 编辑:程序博客网 时间:2024/04/29 11:29

常见的面向对象设计的原则,可以简化为SOLID原则,坚固slidi的软件需要遵循的原则。

1、单一职责原则SRP(Single Responsibility Principle)

 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

2、开放-关闭原则OCP(Open-Close Principle)

 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

3、里氏替换原则LSP(Liskov Substitution Priciple)

 通俗的定义:所有引用基类的地方必须能透明地使用其子类的对象。

  更通俗的定义:子类可以扩展父类的功能,但不能改变父类原有的功能。

四层含义

  里氏替换原则包含以下4层含义:

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

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

当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。

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

4、依赖倒置原则DIP(Dependence Inversion Principle)

  模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产    生的;   接口或抽象类不依赖于实现类;    实现类依赖接口或抽象类。

5、接口隔离原则ISP(Interface Segregation Principle)

  使用多个专门的接口比使用单一的总接口要好。   一个类对另外一个类的依赖性应当是建立在最小的接口上的。   一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个 臃肿的大接口,这是对角色和接口的污染。

6、最少知识原则LKP(Least Knowledge Principle)

  迪米特法则(Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.
0 0
原创粉丝点击