设计模式之桥接模式(Java语言描述)
桥接模式定义
- Abstraction:抽象类
- RefinedAbstraction:扩充抽象类
- Implementor:实现类接口
- ConcreteImplementor:具体实现类
源代码
public interface Implementor {void operationImpl();
}
实现类ConcreteImplementorA:
public class ConcreteImplementorA implements Implementor{@Overridepublic void operationImpl() {System.out.println("ConcreteImplementorA operationImpl");}}
实现类ConcreteImplementorB:
public class ConcreteImplementorB implements Implementor{@Overridepublic void operationImpl() {System.out.println("ConcreteImplementorB operationImpl");}}
抽象类Abstraction:
public class ConcreteImplementorB implements Implementor{@Overridepublic void operationImpl() {System.out.println("ConcreteImplementorB operationImpl");}}
扩充抽象类RefinedAbstraction代码:
public class RefinedAbstraction extends Abstraction{@Overridepublic void operation() {this.getImpl().operationImpl();}}
客户端Client:
public class Client {public static void main(String[] args) {Abstraction abs = new RefinedAbstraction();//具体实现交给客户端选择Implementor impl = new ConcreteImplementorB();abs.setImpl(impl);abs.operation();}
}
桥接模式的核心思想就是变继承关系为聚合关系,再回到绘制不同颜色图形的例子,使用桥接模式设计类图如下,具体的颜色由客户端进行选择。
转载于:https://www.cnblogs.com/lanzhi/p/6468481.html
设计模式之桥接模式(Java语言描述)相关推荐
- 过滤器用到了java哪个模式_设计模式之过滤器模式——Java语言描述
过滤器模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来 实现 创建一个Person对象.Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列 ...
- java语言描述一个行为_设计模式之责任链模式——Java语言描述
责任链模式为请求创建了一个接受者对象的链.这种模式给予请求的类型,对请求的发送者和接受者进行解耦.这种类型的设计模式属于行为模式.在这种模式下,通常每个接收者都包含对另一个接收者的引用.如果一个对象不 ...
- java桥接和装饰_设计模式:桥接模式和装饰模式
原标题:设计模式:桥接模式和装饰模式 一.桥接模式简介 1.基础描述 桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥梁模式的用意是&qu ...
- java 设计模式之桥接模式,策略模式
java 设计模式之桥接模式,策略模式 1.引出设计模式 相信大家都玩过王者荣耀这款游戏.我们知道现在大概有九十多个英雄且各自技能及背景故事.台词.被动都不一样而且还带着召唤师技能比如实现,惩戒,弱化 ...
- java 懒加载模式_JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
我写的程序员面试系列文章 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Jav ...
- 如何让孩子爱上设计模式 ——10.桥接模式(Bridge Pattern)
如何让孩子爱上设计模式 --10.桥接模式(Bridge Pattern) 标签: 设计模式初涉 我有故事,你有酒吗?这年头写个技术文不讲个故事都不行,行,我讲: 还有发现很多的技术博文都开始有喜欢往 ...
- 算法java语言描述_java语言描述数据结构与算法崔笑颜的博客
java语言描述数据结构与算法崔笑颜的博客 冒泡排序 插入排序 选择排序 希尔排序 快速排序 归并排序 二分查找package com.demo.test; import java.util.Arra ...
- C++设计模式之桥接模式
这篇文章主要介绍了C++设计模式之桥接模式,本文讲解了什么是桥接模式.为什么要使用桥接模式.什么时候使用桥接模式等内容,需要的朋友可以参考下 问题描述 现在要去画一个图形,图形有长方形.圆形和扇形等等 ...
- State_状态模式_PHP语言描述
2019独角兽企业重金招聘Python工程师标准>>> State_状态模式定义: 允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎改变了它的类. 应用State_状态模式 ...
- 《数据结构与抽象:Java语言描述(原书第4版)》一JI2.3 抛出异常
本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. H ...
最新文章
- AribaWeb 框架学习系列之一
- freebsd原理与设计精要(1)-freebsd与unix简介
- 压力测试网站_一行命令就能网站压力测试和网站故障排除
- 设备树(device tree)学习笔记
- sublime 3 前端神器详细 安装教程
- 如何PDF转Word文档?快把这些方法收好
- 你不知道的JavaScript(上卷)- - 书本知识点记录
- python的def语句_关于语法:python def函数:如何指定函数的结尾?
- java 向路由器发送报文_9.IP选路 - loda0128的个人空间 - OSCHINA - 中文开源技术交流社区...
- 索尼公布电池召回计划 不局限于笔记本
- 内存设置无效: 内存预留 (sched.mem.min) 应该等于内存大小 (65536)
- 手机变速齿轮_手机app变速齿轮
- 企业微信怎么群发消息到群?企业微信客户群群发有什么限制?
- win7计算机自动关机设置在哪里设置方法,win7自动关机怎么设置?W7自动关机命令设置方法...
- IDEA项目发布中,Web Application:Exploded和Web Application:Archive的详细解释
- 熔喷布喷丝板模具微孔加工技术工艺
- jdk-8u191-windows-x64.exe下载
- Python 经典面试题汇总之框架篇
- nextcloud服务器配置文档,NextCloud挂载数据盘
- 如何系统学习VCU电控开发
热门文章
- filter过滤器(转载)
- C#算法 质因数 最大公约数与最小公倍数
- 【贪心School】机器学习课程笔记
- jni hook java_java通过jni调用hook无效
- java 有意思面试题_一些JAVA中有趣的面试题
- java虚拟机手机系统,微软java虚拟机
- 台式计算机的速度,USB3.0有多快?平民级最简单测试告诉你
- python文本替换 数据库_用几行python代码实现大量文本文件里的文本替换
- api.cls.php文件,php数据POST提交到API接口
- 克隆卡设备_SD Clone for mac(SD卡克隆备份软件) v3.2