zoukankan      html  css  js  c++  java
  • 软件设计原则与设计模式概述

    1 软件设计原则

    • 开闭原则(OCP)
      开闭原则(Open-Closed Principle):一个软件实体应当对扩展开放,对修改关闭。

    • 里氏代换原则(LSP)
      里氏代换原则(Liskov Substitution Principle):子类型必须能够替换它们的基类型。反过来的代换不成立。

    • 依赖倒置原则(DIP)
      依赖倒置原则(Dependence Inversion Principle):具体要依赖于抽象,抽象不要依赖于具体。

    • 接口隔离原则(ISP)
      接口隔离原则(Interface Segregation Principle):使用多个专门的接口比使用单一的总接口总要好。

    • 合成/聚合复用原则(CARP)
      合成/聚合复用原则(Composite/Aggregate Reuse Principle或CARP):就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。

    • 迪米特法则(LoD)
      迪米特法则(Law of Demeter或简写LoD)又叫最少知识原则(Least Knowledge Principle或简写为LKP):一个对象应当对其它对象有尽可能少的了解。不要和陌生人说话。

    • 抽象类原则
      抽象类不会有实例,一般作为父类为子类继承,一般包含这个系的共同属性和方法。

    2 设计模式

    创建模式,提供实例化的方法,为适合的状况提供相应的对象创建方法。

    • Factory Method(工厂方法)
    • Abstract Factory(抽象工厂)
    • Builder(建造者)
    • Prototype(原型)
    • Singleton(单例)

    结构化模式,通常用来处理实体之间的关系,使得这些实体能够更好地协同工作。

    • Adapter Class/Object(适配器)
    • Bridge(桥接)
    • Composite(组合)
    • Decorator(装饰)
    • Facade(外观)
    • Flyweight(享元)
    • Proxy(代理)

    行为模式,用于在不同的实体建进行通信,为实体之间的通信提供更容易,更灵活的通信方法。

    • Interpreter(解释器)
    • Template Method(模板方法)
    • Chain of Responsibility(责任链)
    • Command(命令)
    • Iterator(迭代器)
    • Mediator(中介者)
    • Memento(备忘录)
    • Observer(观察者)
    • State(状态)
    • Strategy(策略)
    • Visitor(访问者)
  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14212403.html
Copyright © 2011-2022 走看看