zoukankan      html  css  js  c++  java
  • 面向对象的基本原则----

    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)

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

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

  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/Nico-luo/p/8624702.html
Copyright © 2011-2022 走看看