您的位置:首页 > 职场人生

设计模式之适配器模式

2014-08-18 00:00 323 查看
最近公司在做一个项目,是电信的一个项目,感觉规模蛮大的,由于还是属于实习生,基本上也不会接触一些核心的东西,但由于自己的好学,索性向项目经理要了项目的一部分源代码(都是自己反编译过来的),看了一个礼拜之后,觉得虽然可能代码的逻辑能看懂,但对于代码的设计可能还是有点欠缺,比如说代码使用了什么设计模式?为什么要使用这种设计模式?我想,对于这些问题并不是去听别人的讲解自己就能体会 的,更多的是要自己的积累,有些东西可能是只可意会,不可言传吧!

针对以上问题,我必须寻找一个突破口,我想,我要开始积累一些东西了,哪怕要花好长的时间我也在所不惜。

下面是讲设计模式的:关于设计模式的定义百度百科里面可以找到,这里主要记录自己对设计模式的理解并会有一个例子来说明。

这一讲主要讲解设配器模式,可能以后会补充其他的设计模式。

关于适配器模式,可以这么理解,适配器模式可以实现两个不相关的类或者接口的相互调用,而无须对原有类或接口的内容进行改变,适配器模式又分为类适配器模式与对象适配器模式。

下面主要是例子,能加深理解:

1:所谓类适配器模式,无非就是类与类之间的继承关系的体现。

我们现在定一个接口Money,里面有一个方法,是实现挣钱操作的

pubilc interface Money{

public float makeMoney();

}

而我们现在要用一个类实现这个接口完成挣钱操作,但是我们发现之前在我们的代码里面有一个类MyMoney已经实现了挣钱操作,所以我们可以这样.

//挣钱类

public class MyMoney{

//挣钱方法

public float setMoney(){

return 1234.0;

}

}

public class Test extends MyMoney implements Money{

public float makeMoney(){

return setMoney();

}

}

上面我们无须实现挣钱方法,因为我们有限成的。

2:对象适配器模式,一对象来实现适配器模式

假设上面的接口中还有一个花钱的方法

pubilc interface Money{

public float makeMoney();

public float doMoney();

}

而我们现在要实现这个接口并完成挣钱与花钱操作,但是我们发现之前在另一个类中也含有花钱这个方法,

//挣钱类

public class MyMoney{

//挣钱方法

public float setMoney(){

return 1234.0;

}

}

//花钱类

public class ToMoney{

//花钱方法

public float getMoney(){

return 100;

}

}

但我们知道java不支持多继承,所以这里对象适配器模式就出来了。

public class Test implements Money{

private MyMoney mm=null;

private ToMoney tm=null;

public Test(MyMoney mm,ToMyoney tm){

this.mm=mm;

this.tm=tm;

}

public float makeMoney(){

return this.mm.setMoney();

}

public float doMoney(){

return this.tm.getMoney();

}

}

本文出自 “陈砚羲” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息