zoukankan      html  css  js  c++  java
  • 23种设计模式分类

    软件设计模式使人们可以更加简单方便复用成功的设计和体系结构,它通常包含以下几个基本要素:模式名称、别名、动机、问题、解决方案、效果、模式角色、合作关系、实现方法、实用性、已知应用、例程、模式扩展和相关模式等。

    设计模式有两种分类方法,一种根据模式的目的来分;另一种根据模式的作用来分。

    1.1 根据模式的目的划分

    根据模式是用来完成什么样的工作来划分,这种方法可分为创建型模式、结构型模式、行为型模式3种。

    1.1.1 创建型模式

    用于描述“怎么创建对象”。它的主要特点是“将对象的创建与使用分离”。如,单例、原型、工厂方法、抽象工厂、建造者等5种创建型模式。

    1.1.2 结构型模式

    用于描述“如何将类或对象按某种布局组成更大的结构”。如,代理、适配器、桥接、装饰、外观、享元、组合等7种结构型模式。

    1.1.3 行为型模式

    用于描述“类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责”。如,模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录模式、解释器等11中行为模式。

    1.2 根据模式的作用划分

    根据模式的主要用于类上还是主要用户对象上来分,这种方式可分为类模式和对象模式两种。

    1.2.1 类模式

    用于处理类与子类之间的关系,这些关系通过继承来建立,是静态的,在编译时便确定下来了。如,工厂方法、(类)适配器、模板方法、解释器等4种类模式。

    1.2.2 对象模式

    用户处理对象之间关系的,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。

    表1-1 介绍了这23种设计模式分类

    范围/目的

    创建型模式

    结构型模式

    行为型模式

    类模式

     工厂方法

      (类)适配器

      模板方法

      解释器

    对象模式

      单例

      原型

      抽象工厂

      建造者

      代理

      (对象)适配器

      桥接

      装饰

      外观

      享元

      组合

      策略

      命令

      职责链

      状态

      观察者

      中介者

      迭代器

      访问者

      备忘录

  • 相关阅读:
    React 父调子 子调父 observer.js 非父子传值
    echarts 折线图
    跳转新页面解决用户重新登录的方法
    微信小程序规范 引入框架 引入外部js css
    js 400
    Angular2 表单校验
    Angular2 登录页进门户页 用户接口正常 从服务平台退出到门户页 登录接口报302
    CSP-S 2020 SC 迷惑行为大赏
    【题解】[CSP-S 2020] 函数调用【拓扑图DP】
    【题解】[CSP-S 2020] 动物园
  • 原文地址:https://www.cnblogs.com/guoyu1/p/14058094.html
Copyright © 2011-2022 走看看