设计模式之其他设计模式(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();
复制代码
  • 结果

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

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

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




相关文章
|
设计模式 存储 安全
【设计模式】五种创建者模式
创建者模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工程模式 原型模式 建造者模式 单例设计模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单例模式的结构 单例模式的
98 0
|
10月前
|
设计模式 自动驾驶 NoSQL
设计模式总结(一)
设计模式总结(一)
|
10月前
|
设计模式 Java C#
C#设计模式——上
C#设计模式——上
|
设计模式 安全 Java
设计模式~单列模式-01
单列模式 1、饿汉式 2、懒汉式(lazy loading) 3、双重检测 4、静态内部类
53 0
|
设计模式 Java
懒羊羊学设计模式-创建者模式
懒羊羊学设计模式-创建者模式
|
设计模式 数据可视化 程序员
设计模式到底是什么
设计模式到底是什么
105 1
|
设计模式 关系型数据库
设计模式介绍
设计模式介绍
125 0
|
设计模式
设计模式总结
设计模式总结
92 0
|
存储 设计模式 XML
设计模式(六)
设计模式
200 0
|
设计模式 XML 存储
设计模式(七)
设计模式
108 0