手记

设计模式--------&类别

设计模式类别

设计模式命名,抽象和标识是通用设计结构等主要方面,这些设计结构能够被用于构造复用等OOP程序设计。设计模式确定所包含的类和实例、它们的角色、协作方式以及指责分配。
每种设计模式都重点关注一个特定的OOP问题或设计要点,描述何时使用它,在另一些约束条件下是否还适用及使用的利弊。

设计模式可以分为不同的类别,如下三类:

1. 创建型设计模式:基于创建对象的概念

专注于处理对象机制,以适合特定情况的方式来创建对象。其方法可能导致项目复杂性的增加,而这些模式旨在通过控制创建过程来解决这种问题。

创建型设计模式 基于创建对象的概念
Factory 基于接口数据或事件生成几个派生类的实例
对象
Abstract 创建若干类系列的一个实例,无需详述具体的类
Builder 从表示中分离对象构建,总是创建相同类型的对象
Prototype 用于复制完全初始化的实例
Singleton 一个类在全局访问点只有一个实例

JS中属于这种类别的模式包括:

  1. Constructor
  2. Factory
  3. Abstract
  4. Prototype
  5. Singleton
  6. Builder
2. 结构型设计模式:基于构建对象块的想法

结构型模式与对象组合有关,常用于找出不同对象之间建立关系的简单方法。这种模式有利于确保在系统某一部分发生变化时,系统整个结构不需要同时改变。同时对于不适合因某一特定目的而改变系统的部分,该模式可以帮助重组。

结构型设计模式 基于构件对象块的想法
Adapter 匹配不同类的接口,使类可在不兼容接口时共同工作
对象
Adapter 匹配不同类的接口,使类可在不兼容接口时共同工作
桥接 将对象接口从其实现中分离,故其可独立变化
组合 简单和复杂对象结构,使1+1>2
Decorator 向对象动态添加备选的处理
Facade 隐藏系统复杂性的唯一一个类
Flyweight 一个用于实现包含在别处信息等高效共享粒度实例
Proxy 占位符对象代表真正对象

JS中属于这种类别的模式包括:

  1. Decorator
  2. Facade
  3. Flyweight
  4. Adapter
  5. Proxy
3. 行为型设计模式:基于对象在一起配合工作的方式

专注于改善或简化系统中不同对象之间的通信。

行为型设计模式 基于对象在一起配合工作的方式
解释器 将语言元素包含在应用程序中的方法,以匹配预期语言等语法
模板方法 在方法中创建算法等shell,然后将确切的步骤推到子类
对象
职责链 在对象链之间传递请求的方法,以找到能够处理请求的对象
命令 将命令执行从其调用程序中分离的方法
Iterator 顺序访问一个集合中的元素,无需了解该集合内部的工作原理
Mediator 在类之间定义简化的通信,以防止类显示引用彼此
备忘录 捕获对象内部状态以能够在以后恢复它
Observer 向多个类通知改变的方式,以确保类之间地一致性
状态 状态改变时更改对象行为
策略 在一个类中封装算法,将选择与实现分离
Visitor 向类添加一个新的操作,无需改变类

JS中属于这种类别的模式包括:

  1. Iterator
  2. Mediator
  3. Observer
  4. Visitor
1人推荐
随时随地看视频
慕课网APP