设计模式之其他设计模式(7-1)

简介: 设计模式之其他设计模式(7-1)

1、原型模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 自己敲一下
// 原型模式
const prototype = {
  getName: function () {
    return this.first + " " + this.last;
  },
  say: function () {
    alert("say");
  },
};
// 基于原型创建 X
let x = Object.create(prototype);
x.first = "A";
x.last = "B";
alert(x.getName());
x.say();
// 基于原型创建 Y
let y = Object.create(prototype);
y.first = "C";
y.last = "D";
alert(y.getName());
y.say();
复制代码
  • 结果展示 弹出预期的结果

网络异常,图片无法展示
|

网络异常,图片无法展示
|

2、桥接模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 自己 敲一遍
// 桥接模式
class Color {
  constructor(name) {
    this.name = name;
  }
}
class Shap {
  constructor(name, color) {
    this.name = name;
    this.color = color;
  }
  draw() {
    console.log(`${this.color.name} ${this.name}`);
  }
}
const red = new Color("red");
const yellow = new Color("yellow");
const circle = new Shap("circle", red);
circle.draw();
const triangle = new Shap("triangle", yellow);
triangle.draw();
复制代码
  • 结果展示

网络异常,图片无法展示
|

网络异常,图片无法展示
|

3、组合模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

4、享元模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

5、策略模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 自己敲一下

网络异常,图片无法展示
|

  • 结果 ok的

网络异常,图片无法展示
|

  • 策略模式 更改一下
// 策略模式 优化一下
class OrdinaryUser {
  buy() {
    console.log("普通 用户购买");
  }
}
class MemuberUser {
  buy() {
    console.log("memuber 用户购买");
  }
}
class VipUser {
  buy() {
    console.log("vip 用户购买");
  }
}
let u1 = new OrdinaryUser();
u1.buy();
let u2 = new MemuberUser();
u2.buy();
let u3 = new VipUser();
u3.buy();
复制代码

网络异常,图片无法展示
|

网络异常,图片无法展示
|

6、模版方法 模式

  • 常用思想

网络异常,图片无法展示
|

7、职责链 模式

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 自己敲一下
// 职责链 模式
class Action {
  constructor(name) {
    this.name = name;
    this.nextAction = null;
  }
  setNextAction(action) {
    this.nextAction = action;
  }
  handle() {
    console.log(`${this.name} 审批`);
    if (this.nextAction != "null") {
      this.nextAction.handle();
    }
  }
}
// 测试代码
let a1 = new Action("组长");
let a2 = new Action("经理");
let a3 = new Action("总监");
a1.setNextAction(a2);
a2.setNextAction(a3);
a1.handle();
复制代码
  • 结果

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|




相关文章
|
19天前
|
设计模式 安全 Java
24种设计模式详解(下)
24种设计模式详解(下)
28 0
|
设计模式 存储 安全
【设计模式】五种创建者模式
创建者模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工程模式 原型模式 建造者模式 单例设计模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单例模式的结构 单例模式的
60 0
|
6月前
|
设计模式 数据中心
常用设计模式这样学
常用设计模式这样学
|
6月前
|
设计模式 消息中间件 Kubernetes
设计模式总结(二)
设计模式总结(二)
|
设计模式
|
设计模式 算法 C#
使用c#实现23种常见的设计模式
使用c#实现23种常见的设计模式
83 0
|
设计模式 消息中间件 Java
一起来学设计模式之认识设计模式
前言 目前正在出一个设计模式专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本节给大家讲一下设计模式基本概念,它的基本原则以及有哪些设计模式~ 本专题的所有案例代码主要以Java语言为主, 好了, 废话不多说直接开整吧~ 设计模式初识 设计模式是一种经过验证的、被广泛应用的解决特定问题的软件设计方案,它提供了一种在软件设计中反复使用的解决方案。设计模式通常描述了一个问题的情境、解决方案和解决方案的优点和缺点。设计模式不是一种具体的编程语言特性或库,而是一种通用的设计思想和方法。
|
设计模式 程序员
设计模式(二)
设计模式
125 1
|
设计模式 Java
23种设计模式-总揽篇
23种设计模式-总揽篇
23种设计模式-总揽篇
|
存储 设计模式 XML
设计模式(六)
设计模式
186 0