zoukankan      html  css  js  c++  java
  • 常用设计模式汇总说明

    软件编程原则

    1.单一职责原则  2.开闭原则(对扩展开,对修改闭) 3.里氏替换原则(子类型能完全替换基类) 4.依赖倒置原则(抽象不应该依赖细节,细节应该依赖抽象) 5.接口隔离原则(不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于他所在的类层次结构)


     创建型模式(对象的创建和使用分离)

      1.工厂模式:(解耦、职责分离)

        1.1. 简单工厂模式:根据入参创建对应实例(违背开闭原则)

        1.2.工厂方法模式:具体创建实例交由具体工厂子类实现(扩展时,需要创建的类较多)

        1.3.抽象工厂:一个工厂类可以创建多个不同类型的实例(违背开闭原则、违背单一职责原则)

      2.建造者模式:分步建造一个完整实例

      3. 单例模式:整个上下文有且仅有一个实例

      4.原型模式:通过clone复用实例

    结构型模式

      类结构型模式:一般基于继承和实现实现类的组合

      对象结构型模式:一般基于组合和关联实现对象的组合

        1.适配器模式:通过适配(被适配类不可修改)实现类的复用(加深调度栈)

        2.桥接模式:通过实现和抽象的分离实现桥接,是一种对象结构模式。更多是在架构初期使用。(加大编程复杂度)

         3.装饰模式:通过装饰类动态地为目标类增加额外职责

        4.外观模式:系统入口有且只有一个(该入口会成为瓶颈)

        5.享元模式:通过共享实现对象复用。构成有享元工厂、享元池

        6.代理模式:通过代理实现对目标类的控制

        7.组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构

     行为型模式

      类行为型模式:

      对象行为型模式:

        1.命令模式:通过封装命令,实现请求命令与执行命令的解耦

        2.中介者模式:对象之间的通信通过中介者中转而不是直接通信(中介者会成为瓶颈,实现难度大)

        3.观察者模式:一个实例状态发生改变时,其相关依赖对象会被通知自动更新。构成有:观察者、观察目标(观察目标会成为瓶颈)

        4.状态模式:通过改变实例的状态改变其行为

        5.策略模式:封装可互相替换的策略

       6.责任链模式:链条上的每个实例都有机会处理链条上的数据

        7.解释器(解析)模式:

        8.迭代模式:

        9.备忘录模式:

        10.模板方法模式:基类定义实现模板,子类实现各自的逻辑

        11.访问者模式:算法和数据结构分离

  • 相关阅读:
    SNMP概述–运维必知的协议基础
    关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析
    关于snmp octet string和普通string问题
    SVN状态说明
    SNMP mib文件说明
    Linux之 proc文件系统
    django .all .values .value_list 数据库获取数据
    Django form验证
    JSONP实现
    iframe和form表单实现ajax请求上传数据
  • 原文地址:https://www.cnblogs.com/imaikce/p/12035808.html
Copyright © 2011-2022 走看看