设计模式之桥接模式的学习思考
2017-06-28 09:18
267 查看
桥接模式(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(); } }
输出:
机器人坐下了 机器人走路
总结:
接口作为抽象类的成员(组合)
应用了多态:接口回调
与适配器模式相比,适配器模式较复杂一点,且适配器更专注的是功能的增加
相关文章推荐
- 设计模式学习(八)桥接模式-组合模式-装饰模式
- 设计模式学习笔记(八)——Bridge桥接模式
- 设计模式学习-Bridge(桥接)
- 设计模式学习的思考
- 设计模式学习之桥接模式(Bridge)
- 设计模式学习笔记-桥接模式
- 设计模式学习总结-桥接模式(Bridge Pattern)
- 设计模式学习总结-桥接模式(Bridge Pattern)
- “设计模式”学习之五:桥接、外观、享元与代理(结构型)
- 设计模式学习笔记-桥接模式
- 设计模式学习的思考
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 设计模式学习笔记——桥接(Bridge)模式
- 我对设计模式的学习和实践的思考...
- 设计模式与泡mm的关系之Bridge桥接模式及桥接模式的再思考
- 设计模式学习笔记(四)—Bridge桥接模式
- 设计模式学习笔记(八)——Bridge桥接模式
- HeadFirst 设计模式学习笔记20--桥接(Bridge)模式拾零
- 设计模式学习笔记之桥接模式
- 设计模式学习-----桥接模式