学习设计模式-桥接模式
来源:互联网 发布:左右声道测试软件 编辑:程序博客网 时间:2024/05/17 09:00
说明:将抽象部分(多种变化)与它的实现(多种变化)部分分离,使它们都可以独立的变化。(当多角度去实现抽象类时,如果通过继承,会造成大量的类增加,此时需要用桥接模式。)
需求:手机品牌跟手机软件,不同品牌手机有多个软件。一个品牌手机有通讯录软件、播放音乐软件,还有其他等软件;另一个品牌有播放音乐软件和打电话软件。
解决方式:
a. 分别定义抽象类(品牌手机)、实现类(品牌手机软件),其中抽象类、实现类聚合关系;
b. 定义具体抽象类(手机1),具体实现类(软件1);
c. 客户端调用实例化手机1和软件1,将软件1注入给手机1,通过手机1调用软件1的操作。
需求变更:
新增一个品牌手机2、新增一个品牌手机2软件2
解决方式:
定义具体抽象类2(品牌手机2)
定义具体实现类2(品牌手机2软件2)
类图:
0 0
- 设计模式学习----Bridge桥接模式
- 设计模式学习笔记-桥接模式
- 设计模式学习-----桥接模式
- 设计模式学习之桥接模式
- 设计模式学习(十二):桥接模式
- 设计模式学习--桥接模式
- 设计模式学习笔记-桥接模式
- 设计模式实例学习-桥接模式
- 设计模式学习--桥接模式
- 设计模式学习笔记--桥接模式
- 设计模式学习笔记--桥接模式
- 设计模式学习--桥接模式
- 学习设计模式-桥接模式
- 设计模式学习-桥接模式
- 设计模式学习-工厂模式/桥接模式
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 设计模式----桥接模式
- 二叉树遍历(非递归版)
- Eclipse注释模板设置详解
- Linux打卡Day10-扩展权限
- Web Cache替换算法分析(一)
- poj 1733种类并查集+离散化
- 学习设计模式-桥接模式
- 微信开发设置QQ表情 可用于关注自动回复等
- git常用命令
- IO复用
- JAVA SWING 日期选择控件(目前支持JLable和JTextField)
- 内部类使用及注意事项
- 浅谈怎样建设一个为企业带来更大价值的企业网站
- UVA
- Unity3D —— protobuf网络框架