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

设计模式简述(十九)桥梁模式

桥梁模式

  • 描述
  • 基本组件
  • 使用

描述

桥梁模式是一种相对简单的模式,通常以组合替代继承的方式实现。
从设计原则来讲,可以说是单一职责的一种体现。
将原本在一个类中的功能,按更细的粒度拆分到不同的类中,然后各自独立发展。

基本组件

该模式,通常包含:抽象化角色(持有实现化角色完成功能)、实现化角色、修正抽象化角色、具体实现化角色

  • 实现化角色
public interface Implementor {void implAction();
}
  • 具体是实现化角色
public class MyImplementor implements Implementor {@Overridepublic void implAction() {System.out.println("MyImplementor action ....");}
}
  • 抽象化角色
public abstract class Abstraction {private final Implementor implementor;public Abstraction(Implementor implementor) {this.implementor = implementor;}public void  doAction() {implementor.implAction();action();}protected abstract void action();
}
  • 修正抽象化角色
public class RefinedAbstraction extends Abstraction {public RefinedAbstraction(Implementor implementor) {super(implementor);}@Overrideprotected void action() {System.out.println("RefinedAbstraction action ...");}
}

使用

public class Sample {public static void main(String[] args) {Abstraction abstraction = new RefinedAbstraction(new MyImplementor());abstraction.doAction();}
}
http://www.xdnf.cn/news/388891.html

相关文章:

  • 红黑树(C++)
  • 大模型对时尚穿搭体验的革新与重塑
  • 强化学习入门:马尔科夫过程
  • Linux系统中的Web服务器部署及优化
  • 5java集合框架
  • # Ollama 实现大模型调用
  • 无侵入式弹窗体验_探索 Chrome 的 Close Watcher API
  • Android Canvas API 详细说明与示例
  • python【扩展库】websockets
  • idea中的vcs不见了,如何解决
  • 探秘 DeerFlow:字节跳动开源的科研创作魔法盒!
  • 温湿度传感器SHT4X
  • 【C++】AVL树实现
  • 害怕和别人发生冲突怎么办? --deepseek
  • [特殊字符] 免税商品优选购物商城系统 | Java + SpringBoot + Vue | 前后端分离实战项目分享
  • 线程的一些事(2)
  • 拍摄学习笔记【前期】(一)曝光
  • SQL 数据库监控:SQL语句监控工具与实践案例
  • 【Redis】Redis的主从复制
  • Linux常见指令解析(三)
  • jenkins built-in节点如何删除
  • TeledyneLeCroy在OFC2025 EA展台上展示了其400G/800G的全包围的测试解决方案,满足了UEC联盟和UALINK联盟的技术需求
  • 【25软考网工】第六章(3)数字签名和数字证书
  • opencv关键点检测
  • C语音学习---函数指针
  • Redis爆肝总结
  • 【嵌入式DIY实例-Arduino篇】-DIY遥控手柄
  • IC ATE集成电路测试学习——电流测试的原理和方法
  • 数据库与SQL核心技术解析:从基础到JDBC编程实战
  • 设计模式系列(1):总览与引导