java 设计模式之一 适配器模式 adapter
2010-09-14 11:17
537 查看
生活中:
我们拿显卡适配器来举例吧,就是为了让我们的显示器发挥作用或者更好的发挥作用.是电脑核心与外设(显示器)之间的桥梁.
java中:
一.举例说明(用类简单点,接口大家自己想吧)
比如正在开发一款游戏,是用枪杀人.
调用代码是这样
在游戏中还有一个是镰刀,镰刀的功能是割草的.调用的类就不写了
开发游戏的人有一天突发奇想,再做一个情节让镰刀也可以杀人.嘿嘿.
1.增加一个run()方法支持参数镰刀的类.
2.让镰刀与枪都实现某个接口,改动run()的参数类型
3.让参数用基类object,里面再进行instance of判断.
但是发现这些都要改动原来的类,好麻烦啊........而且又有风险.
于是,适配器出现了.
哦.问题是不是解决了.
例子还是有一些牵强,如果读者有更好的例子,请分享.thanks.
二 adapter适合于哪里使用哪?
(待续)
查阅资料,自己设计整理,转载一定注明出处.
有不明白的地方,或者你认为错误的地方可以给我留言,大家共同进步!
我们拿显卡适配器来举例吧,就是为了让我们的显示器发挥作用或者更好的发挥作用.是电脑核心与外设(显示器)之间的桥梁.
java中:
一.举例说明(用类简单点,接口大家自己想吧)
比如正在开发一款游戏,是用枪杀人.
public class Gun { public void fire(String name){ System.out.println(name); } }
调用代码是这样
public void run(Gun gun,String name){ System.out.println("start....."); System.out.println("kill......ing"); gun.fire(name); System.out.println("killed"); System.out.println("end....."); }
在游戏中还有一个是镰刀,镰刀的功能是割草的.调用的类就不写了
public class Sickle { public void cut(String name){ System.out.println(name); } }
开发游戏的人有一天突发奇想,再做一个情节让镰刀也可以杀人.嘿嘿.
1.增加一个run()方法支持参数镰刀的类.
2.让镰刀与枪都实现某个接口,改动run()的参数类型
3.让参数用基类object,里面再进行instance of判断.
但是发现这些都要改动原来的类,好麻烦啊........而且又有风险.
于是,适配器出现了.
public class SickleGun extends Gun{ private Sickle sickle; @Override public void fire(String name) { sickle.cut(name); } public Sickle getSickle() { return sickle; } public void setSickle(Sickle sickle) { this.sickle = sickle; } }
哦.问题是不是解决了.
例子还是有一些牵强,如果读者有更好的例子,请分享.thanks.
二 adapter适合于哪里使用哪?
(待续)
查阅资料,自己设计整理,转载一定注明出处.
有不明白的地方,或者你认为错误的地方可以给我留言,大家共同进步!
相关文章推荐
- Java设计模式二十:适配器模式(Adapter)
- Java设计模式 结构模式-适配器模式(Adapter)
- java23种设计模式之适配器模式(Adapter)
- Java设计模式---适配器模式(Adapter)
- Java设计模式(六):适配器模式Adapter
- Java设计模式之适配器模式(Adapter)
- Java设计模式之适配器模式Adapter(结构型)
- Java设计模式---适配器模式(Adapter)
- Java设计模式 —— 适配器模式(Adapter)
- Java设计模式-适配器模式Adapter
- Java设计模式:适配器模式(Adapter Pattern)
- Java设计模式--适配器模式【Adapter Pattern】
- 浅谈JAVA设计模式之——适配器模式(Adapter)
- Java设计模式----适配器模式(Adapter)
- Java设计模式之适配器模式(Adapter)在Android中的应用
- java设计模式6——适配器模式(Adapter)
- Java设计模式之适配器模式(Adapter)
- Java设计模式之适配器模式(Adapter Pattern)
- 设计模式学习笔记---适配器模式adapter(Java版)
- java设计模式6--适配器模式(Adapter )