明修栈道,暗度陈仓
6:31 PM
适配器模式(Adapter Pattern)
适配器模式,这是个很有意思的模式。我一见这个模式,就联想起了三十六计中的一计——明修栈道,暗度陈仓。hoho!
适配器,这个名字起的真不错。
一个正直的人,具有适配器的特征,那么我们就说这个人,“大丈夫,能屈能伸”,“适应能力强,无论在任何环境中,都能找到自己合适的位置”,“遇到问题,总能能转换角度,找到合适的方法”,等等……
唉,形容一个不那么正直的人,这个人“老油条”,“见什么人说什么话,八面玲珑”,“道貌岸然,满口的仁义道德,一肚子的男盗女娼”,如此尔尔……所谓“挂着羊头卖狗肉”,“披着羊皮的狼”等等,估计也是都是这一模式的具体应用吧。
又想起了前段时间的艳照门中的某位明星,呵呵,良好的运用了适配器模式,当代码正常运行的时候,我们根本就没有发觉适配器的存在,hoho,突然程序出现bug了,我们才发觉,哦,原来系统中还存在着这么一个东东!
target:CuteGirl
adaptee:RealGril
adapter:RealGrilAdapter
------------------------
#1(CuteGirl.java)
public interface CuteGirl {
public void act();
}
#2(CuteGirlImpl .java)
public class CuteGirlImpl implements CuteGirl {
public void act() {
System.out.println("很傻很天真");
}
}
----------------------
#3(RealGril.java)
public interface RealGril {
public void act();
}
#4(RealGrilImpl.java)
public class RealGrilImpl implements RealGril {
public void act() {
System.out.println("很黄很暴力");
}
}
-------------------
#5(RealGrilAdapter.java)
public class RealGrilAdapter implements CuteGirl {
private RealGril rg;
public RealGrilAdapter(RealGril aRg) {
this.rg = aRg;
}
public void act() {
rg.act();
}
}
-------------------
#6(Test.java)
public class Test {
public static void main(String args[]) {
CuteGirl cg1 = new CuteGirlImpl();
RealGril rg = new RealGrilImpl();
CuteGirl cg2 = new RealGrilAdapter(rg);
System.out.println("the first girl");
testGril(cg1);
System.out.println("\nthe second girl");
testGril(cg2);
}
public testGril(CuteGirl cg) {
System.out.print("包装效果:");
System.out.println("很傻很天真");
System.out.print("实际:");
cg.act();
}
}
输出结果:
--------------------------
包装效果:很傻很天真
实际:很傻很天真
包装效果:很傻很天真
实际:很黄很暴力
-----------------------
ps:纯属娱乐,不是故意诋毁某些人,唉,谁能保证100%真实,谁能保诚100%虚伪?事物是充满矛盾的!
写得不错。
頑張ってください。