• 软件设计原则与设计模式概述


    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(访问者)
  • 相关阅读:
    nginx反向代理下载文件失败处理
    jenkins集成sonarqube代码审核
    Django中@login_required用法简介
    使用uwsgi配置django
    python的subprocess模块
    python的hashlib模块
    python的StringIO模块
    关于C#引用ExceptionPolicy.HandleException(ex, "LogAndReplace", out exceptionToReplace);
    C#DataTable 使用GroupBy方法的lamda 表达式和Linq语句写法
    MVC页面重定向'页面跳转
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14212403.html
Copyright © 2020-2023  润新知