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(访问者)
  • 相关阅读:
    BZOJ2738 矩阵乘法
    BZOJ3585 mex
    BZOJ1930 [Shoi2003]pacman 吃豆豆
    BZOJ3858 Number Transformation
    vue2.0学习小列子
    vue2.0 tab切换几种方式
    github学习
    只有自己看的懂的vue 二叉树的3级联动
    vuex学习
    vue2.0 MintUI安装和基本使用
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14212403.html
Copyright © 2011-2022 走看看