JavaScript 设计模式 (一) 基础知识介绍

291 阅读2分钟

前言

读书笔记

什么是设计模式

定义:

可复用的解决方案,用于解决软件设计中遇到的常见问题

好处:

  • 已经验证,十分可靠

  • 容易复用,可以通过修改解决自己的实际问题

  • 模式都有自己的结构和解决方案的一系列词汇,在向其他人描述时,表达更清晰有效

  • 在代码结构上花费的时间较少,可以有更多的时间关注整体的质量,且减小代码重构的风险(应用模式的代码结构化组织性都比较好)

  • 不用纠结是哪种语言,是什么特定问题,可以通用的解决方案

  • 注:开发时直接使用现有的或在现有的模式基础上修改更方便

设计模式类别

创建型设计模式

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

  • Constructor 构造器
  • Factory 工厂
  • Abstract 抽象
  • Prototype 原型
  • Singleton 单例
  • Builder 生成器

结构型设计模式

  • Decorator 装饰者
  • Facade 外观
  • Flyweight 享元
  • Adapter 适配器
  • Proxy 代理

行为型设计模式

  • Iterator 迭代器
  • Mediator 中介者
  • Observer 观察者
  • Visitor 访问者

框架和设计模式的区别

框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。

比如一个铁匠(架构),他会使用很多工具(框架),也知道怎么样去打造工具可以最好(设计模式);

  • 框架通常是代码重用(工具复用)
  • 而设计模式是设计重用(解决方案复用)
  • 架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用(人员复用)

具体区分

框架模式有哪些?

MVC,MVP,MVVM等

框架有哪些?

Vue, React,Element-ui等

设计模式有哪些?

构造器,观察者,代理,原型等