设计模式之第10章-桥接模式(Java实现)
2015-01-23 13:07
281 查看
[b]设计模式之第10章-桥接模式(Java实现)[/b]
“一入软件深似海,从此早睡是路人。黑夜给了我黑色的眼睛,我却用他去寻找八阿哥。”“怎么了,又来那么多的感慨啊。”“还能有什么啊,老板是说让换个APP做,这个APP现在不行了,这都是这三个月来第4个APP了、、、”“这个啊,那不是简单的很么?”“简单,别闹了,你以为APP是大白菜啊,说有就有啊。”“这个时候就是我桥接模式出场的时候了~”
[b]桥接模式之自我介绍[/b]
大家好,我的英文名字叫“Qiaojie Moshi”,我的中文名字叫桥接模式。(欸?哪里优点不对,哦,这小子,糊弄我呢,碎碎念一阵后作者对着桥接模式一阵拳打脚踢)。桥接模式鼻青脸肿的说“我的英文名字是、、、是Bridge Pattern”,不是先前说的那个,开个玩笑而已、、、至于下那么重的手么。“嘿嘿,那个手滑了”。相关定义如下:Decouple an abstraction from its implementation so that two can vary independently。(作者盯着桥接模式。)“老大,这次是真的,我没开玩笑。”“哦,没事,我就随便看看。”翻译过来是将抽象和实现解耦,使得两者可以独立地变化。我的重点就是“解耦”,如何让抽象和实现解耦就是需要了解的重点。下面先来看看桥接模式的类图:
View Code
具体使用看如下的场景类:
怎么样,是不是很厉害,是不是对我的敬仰犹如滔滔江水奔流不止啊~(作者按:滚。众读者已吐得天昏地暗。)
[b]桥接模式之应用场景[/b]
刚刚桥接模式有事走了(别拉我,让我讲完啊~~~),所以由我给大家继续讲解应用场景:
当你不希望抽象和实现之间有一个固定的绑定关系的时候。
类的抽象和它的实现都应该可以通过生成子类的方法加以扩充。
对一个抽象的实现部分的修改应对客户不产生影响。
你想对客户完全隐藏抽象的实现部分。
有许多的类要生成。
你想对多个对象间共享实现,但同时要求客户并不知道这一点。
以上就是本次要说的全部内容,荆轲刺秦王,设计模式心中藏~(好像有什么不对)
PS:本博客欢迎转发,但请注明博客地址及作者~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦
“一入软件深似海,从此早睡是路人。黑夜给了我黑色的眼睛,我却用他去寻找八阿哥。”“怎么了,又来那么多的感慨啊。”“还能有什么啊,老板是说让换个APP做,这个APP现在不行了,这都是这三个月来第4个APP了、、、”“这个啊,那不是简单的很么?”“简单,别闹了,你以为APP是大白菜啊,说有就有啊。”“这个时候就是我桥接模式出场的时候了~”
[b]桥接模式之自我介绍[/b]
大家好,我的英文名字叫“Qiaojie Moshi”,我的中文名字叫桥接模式。(欸?哪里优点不对,哦,这小子,糊弄我呢,碎碎念一阵后作者对着桥接模式一阵拳打脚踢)。桥接模式鼻青脸肿的说“我的英文名字是、、、是Bridge Pattern”,不是先前说的那个,开个玩笑而已、、、至于下那么重的手么。“嘿嘿,那个手滑了”。相关定义如下:Decouple an abstraction from its implementation so that two can vary independently。(作者盯着桥接模式。)“老大,这次是真的,我没开玩笑。”“哦,没事,我就随便看看。”翻译过来是将抽象和实现解耦,使得两者可以独立地变化。我的重点就是“解耦”,如何让抽象和实现解耦就是需要了解的重点。下面先来看看桥接模式的类图:
public class AppCorp extends Corp{ //生产的App 待定,据需求而定 public AppCorp(App app){ super(app); } //生产App public void developApp(){ super.developApp(); System.out.println("要什么制作什么APP"); } }
View Code
具体使用看如下的场景类:
public class Client{ public static void main(String[] args) { AppCorp appCorp = new AppCorp(new ChatApp()); appCorp.developApp(); } }
怎么样,是不是很厉害,是不是对我的敬仰犹如滔滔江水奔流不止啊~(作者按:滚。众读者已吐得天昏地暗。)
[b]桥接模式之应用场景[/b]
刚刚桥接模式有事走了(别拉我,让我讲完啊~~~),所以由我给大家继续讲解应用场景:
当你不希望抽象和实现之间有一个固定的绑定关系的时候。
类的抽象和它的实现都应该可以通过生成子类的方法加以扩充。
对一个抽象的实现部分的修改应对客户不产生影响。
你想对客户完全隐藏抽象的实现部分。
有许多的类要生成。
你想对多个对象间共享实现,但同时要求客户并不知道这一点。
以上就是本次要说的全部内容,荆轲刺秦王,设计模式心中藏~(好像有什么不对)
PS:本博客欢迎转发,但请注明博客地址及作者~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦
相关文章推荐
- Java设计模式菜鸟系列(十七)桥接模式建模与实现
- Java设计模式菜鸟系列(十七)桥接模式建模与实现
- 23种经典设计模式的java实现_1_抽象工厂模式
- 从设计模式学习oop思维,最后再具体通过java实现
- 怎样使用Java实现Factory设计模式
- 23种经典设计模式的java实现_5_职责链模式
- 设计模式学习笔记以及java代码实现
- 23种经典设计模式的java实现_2_适配器模式
- observer设计模式的java实现
- 设计模式--桥接模式实现C++
- 设计模式解析和实现(C++, java)之二十--状态(state)模式
- 设计模式:策略模式的实现 c++ 与 java
- 用Java实现的设计模式系列(2)-Prototype
- 用Java实现的设计模式系列(1)-Factory
- 追MM与设计模式的JAVA实现-简单工厂方法
- 用JSP+Servlet+JavaBean模式实现一个简单的登录网页设计(JSP+Tomcat+MySQL)
- 23种经典设计模式的java实现_3_桥接模式
- 23种经典设计模式的java实现_5_职责链模式
- GoF设计模式学习之一:单例模式(Java实现)
- 23种经典设计模式的java实现之生成器模式