• 面向对象的基本原则----


    1.开闭原则(Open Closed Principe OCP)

      OCP是面向对象设计中“可复用这几”的基石,是面向对象设计中最重要的原则之一。对于扩展是开发的,对于修改是关闭的,这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说我们可以改变模块的功能。对于模块行为扩展时,不必改动模块的源代码。

      后面提到的里氏替换原则(LSP)、依赖倒转原则(DIP)、接口隔离原则(ISP)以及抽象类(Abstract)、接口(Interface)等等,都可以看作是开闭原则的实现方法。

    2.里氏替换原则(Liskov Substitution Principle LSP)

      任何基类可出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏替换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现。所以里氏替换原则就是对实现抽象化的具体步骤的规范。

      如果违反了LSP设计,那么根据具体的情况可以在下面的两种方案中选择一种。

      -----创建一个新的抽象类C,作为两个具体类的超类,将A,B的共同行为移动到C中来解决问题。

      -----集成关系改为委派关系。

    3.依赖倒置原则(Dependence Inversion Principle)

      A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。

      B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

      依赖倒置原则:是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要对抽象进行飙车,不要对实现进行编程。这样就降低了客户与实现模块之间的耦合。

    4.接口隔离原则(Interface Segregation Principle)

      客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

      使用多个专门的接口比使用单一的总接口要好。

  • 相关阅读:
    假期学习总结3
    内部表操作
    Hive基础操作
    Hive数据仓库基本概念
    假期学习总结2
    MapReduce基础介绍
    HDFS的高可用机制和联邦机制
    tensorflow学习笔记2
    tensorflow学习笔记1
    python使用tensorflow训练数据集时报错
  • 原文地址:https://www.cnblogs.com/Nico-luo/p/8624702.html
Copyright © 2020-2023  润新知