设计模式之桥接模式的学习思考
来源:互联网 发布:淘宝店铺怎么增加分类 编辑:程序博客网 时间:2024/06/05 16:12
桥接模式(BridgePattern)是设计模式中结构型模式的一种,所以,它也是通过继承组合的关系来实现。
桥接模式是用于把抽象化和实现化解耦,即增加双方的独立性和灵活性。具体来说:
- 创建接口和实现接口的类,这是来实现功能的
- 创建抽象类和继承类,这是表现功能的
- 两者之间的连接是通过将接口放入抽象类中,作为成员变量
生活中有很多这样的模式,比如开关,其表现和具体实现是分离的,我们只能通过开关,而不知道具体实现细节。
写个小例子来加深印象
小例子:我们都知道智能机器人是有许多功能的,我们也可以将其功能的具体实现和功能表现来分离来写,只能看到机器人的动作表现,不知道如何实现。
interface FunctionRobert{ //该接口规定要实现的功能 public void Function(String s);}class Sit implements FunctionRobert{ //实现该接口的类 @Override public void Function(String s) { System.out.println(s); }}class Walk implements FunctionRobert{ //实现该接口的类 @Override public void Function(String s) { System.out.println(s); }}abstract class ActionRobert{ //抽象方法规定表示方法 FunctionRobert functionRobert; //接口型对象作为成员变量 ActionRobert(FunctionRobert functionRobert){ this.functionRobert=functionRobert; } abstract void action();}class Play extends ActionRobert{ //继承抽象类的类实现表现 Play(String s1,FunctionRobert functionRobert) { super(functionRobert); this.s1=s1; } void action(){ functionRobert.Function(s1); } private String s1;}public class BridgePatternDemo { public static void main(String[] args) { ActionRobert sit=new Play("机器人坐下了",new Sit()); ActionRobert walk=new Play("机器人走路",new Walk()); sit.action(); walk.action(); }}
输出:
机器人坐下了机器人走路
总结:
- 接口作为抽象类的成员(组合)
- 应用了多态:接口回调
- 与适配器模式相比,适配器模式较复杂一点,且适配器更专注的是功能的增加
阅读全文
1 0
- 设计模式之桥接模式的学习思考
- 设计模式之单例模式的学习思考
- 设计模式之创建者模式的学习思考
- 设计模式之原型模式的学习思考
- 设计模式之适配器模式的学习思考
- 设计模式之过滤器模式的学习思考
- 设计模式之组合模式的学习思考
- 设计模式之装饰器模式的学习思考
- 设计模式之外观模式的学习思考
- 设计模式之享元模式的学习思考
- 设计模式之代理模式的学习思考
- 设计模式之命令模式的学习思考
- 设计模式之解释器模式的学习思考
- 设计模式之迭代器模式的学习思考
- 设计模式之中介者模式的学习思考
- 设计模式之备忘录模式的学习思考
- 设计模式学习的思考
- 设计模式之责任链的学习思考
- 数据结构和算法
- php_screw 源码加密
- 时间服务器客户端
- JAVA获取计算机的IP、名称、操作系统等信息
- mysql in 子条件中不支持limit
- 设计模式之桥接模式的学习思考
- 三、面向对象
- Android进程管理机制及优化+自动内存管理程序
- aixs2调用Webservice
- java_if分支
- 数据库基本操作语句
- golang笔记——数据类型
- 怎么使用Packagist镜像
- js字符串截取函数slice()、substring()、substr()