zoukankan      html  css  js  c++  java
  • 设计模式与面向对象

    面向对象基础设计原则

    1. 抽象
    2. 封装
    3. 继承
    4. 多态
    5. 组合

    典型的设计原则

    1. Liskov替换原则(LSP)

      • 即子类型必须能够替换他们的基类型,或者说子类型不能添加任何基类型没有的附加约束。
      • 针对接口编程思想:实现继承破坏了基类的实现,接口继承并不定义对象之间的内部关系,耦合度更低,扩展性更好
    2. 开放-封闭原则(OCP)

      • 即对修改封闭,对扩展开放
      • 基本思想就是封装变化的行为作为抽象类或接口
      • 策略模式和模板方法模式提供了实现
    3. 单一职责原则(SRP)

      • 即一个类应当只有一个职责
      • 建立高内聚的类,分离出不相关的功能
    4. 接口隔离原则(ISP)

      • 即接口的单一职责性
      • 定制服务,为不同的角色提供不同的接口,防止接口污染
    5. 依赖倒置原则(DIP)

      • 即高层模块不应依赖于低层模块,两者都应该依赖于抽象
      • 面向接口编程,让高层与低层都依赖接口(抽象)
      • 其他表述
        • 好莱坞原则:呆着别动,到时我会找你
        • 控制反转(IoC)或依赖注入
      • 比如利用抽象工厂模式解除两个类之间的依赖关系;利用Spring框架通过XML配置文件建立接口和具体类之间的关系
    6. 迪米特准则(LOD)

      • 即一个类对于所依赖的类知道的越少越好
      • 这是一个实用的职责分配模式,他指出应该与直接朋友通信,将系统的耦合度保持最低
      • 被依赖的类对外公开的方法要少,要建立中间人委托机制,进而面向接口编程

    良好的OO设计

    1. 可复用
    2. 可扩充
    3. 可维护
    4. 设计模式

    23种GoF设计模式

    设计模式分为类模式和对象模式,类模式处理类和派生类之间的继承关系,对象模式处理对象之间的组织关系。

  • 相关阅读:
    字符串(url)拼接变量
    elementUI table数据显示效果(二)
    异常(转)
    PHP 的异常处理、错误的抛出及错误回调函数 (转)
    详细解读PHP类的封装 (转)
    什么是抽象类
    什么是类,什么是对象,类和对象之间的关系
    魔术方法
    类的声名
    self
  • 原文地址:https://www.cnblogs.com/pycrab/p/8905880.html
Copyright © 2011-2022 走看看