当前位置: 首页 > news >正文

设计模式-桥接模式

概念

  • 用于把抽象化与实现化解耦
  • 使得二者可以独立变化

演示

class ColorShape {yellowCircle() {console.log('yellow circle')}redCircle() {console.log('red circle')}yellowTriangle() {console.log('yellow triangle')}redTriangle() {console.log('red triangle')}
}// 测试
let cs = new ColorShape()
cs.yellowCircle()
cs.redCircle()
cs.yellowTriangle()
cs.redTriangle()

下面是桥接模式代码:

class Color {constructor(name) {this.name = name}
}class Shape {constructor(name, color) {this.name = namethis.color = color}draw() {console.log(`${this.color.name} ${this.name}`)}
}// 测试
let red = new Color('red')
let yellow = new Color('yellow')let circle = new Shape('circle', red)
circle.draw()
let triangle = new Shape('triangle', yellow)
triangle.draw()

设计原则验证

  • 抽象和实现分离,解耦
  • 符合开放封闭原则
http://www.lryc.cn/news/187383.html

相关文章:

  • arcgis地形分析全流程
  • mapper.xml中的sql标签
  • 重启redis的步骤
  • 第二证券:如何选股票的龙头股?
  • 【华为OD机考B卷 | 100分】统计监控、需要打开多少监控器(JAVA题解——也许是全网最详)
  • Python Django 详解(基础)
  • C语言内存函数
  • 【Docker】Docker-compose及Consul多容器编排工具
  • Unity网络同步方案帧同步和状态同步
  • 【Monorepo实战】pnpm+turbo+vitepress构建公共组件库文档系统
  • CentOS 编译安装Redis
  • 可拓展的低代码全栈框架
  • C++11 智能指针
  • 二、WebGPU阶段间变量(inter-stage variables)
  • 【Linux】31个普通信号
  • Mac电脑交互式原型设计 Axure RP 8汉化最新 for mac
  • 在线免费无时长限制录屏工具 - 录猎在线版
  • c语言文件操作详解:fgetc,fputc,fgets,fputs,fscanf,,fprintf,fread,fwrite的使用和区别
  • Harmony装饰器
  • 如何加快Chrome谷歌浏览器下载速度?
  • 使用kubectl连接远程Kubernetes(k8s)集群
  • Kubernetes革命:云原生时代的应用编排和自动化
  • mysql.mongoDb,neo4j数据库对比
  • unity使用UniStorm 5.1.0.unitypackage增加天气
  • Flink实现kafka到kafka、kafka到doris的精准一次消费
  • Outlook屏蔽Jira AI提醒
  • 毛玻璃 has 选择器卡片悬停效果
  • [hive]解决group by 字段超过系统规定64个
  • 生成老年人的声音sox
  • DC2DC电源设计注意事项--1,Feedback