设计模式学习-----适配器模式
简单地说,适配器模式就是 将一个类的接口,转换成客户需要的口味。
一个接口--->另一个接口-----以符合客户。
适配器模式的类图(见底):
[img]C:\Documents and Settings\rudy\桌面\Main.jpg[/img]
这里描述由 枚举适配到迭代器。
当然,这里枚举这个类就是adaptee被适配者,而目标接口为iterator,需要设计一个适配器,讲现有的枚举类转变为我们现在所使用的Iterator接口。
其类图如下
下面为适配器代码
public class EmToIterator implement Iterator{ private Enumeration e ; //has a Enumeration object public EmTorIterator(){ this.e = new Enumeration() ; } public boolean hasnext(){ e.hasMoreElement() ; } public Object next(){ e.nextElement() ; } public void remove(){ //为实现 }}总结下适配器的实现:1.实现要适配后的目标接口;
2.需要有个被适配者的引用(组合) ,以通过调用被适配者的接口 对外接口来实现目标接口。
画类图时碰到的一个问题:用starUM画类图时,实现接口的线应该为有箭头的虚线的,可是实际上现实出来的却是一条实线,所有在这里就用了继承的 带箭头的实线。大家有没有碰到类似的问题呢?待解决...