设计模式理解(适配器和装饰者)

在学习设计模式时,阅读了设计模式的理论,研究了JDK中一些对设计模式的具体应用例子,对一些设计模式有了进一步认识。不同设计模式之间有其细微差别,现在就适配器和装饰者这两者之间的区别,说一下我的理解。

适配器adapter:
有A、B、C三个类,A类是适配器,B类有个声明出来的方法methodWithinB要被调用,但是这个B类方法methodWithinB里的内容不能使用或者是想用C类里的方法methodWithinC中的内容。此时,B类方法methodWithinB需要使用适配器来达到此目的, 该方法在实际使用时,原有的逻辑内容已经不存在了。
具体实现:适配器A继承被适配者B,A类override重写B类方法methodWithinB,将C类作为A类一个属性传给A,A类方法 methodWithinB调用C类方法methodWithinC。A类完成了将对B类方法methodWithinB的调用转移到C类方法methodWithinC。

装饰者 decorator:
有A、B两个类,A类是装饰者,B类是被装饰者,由A类负责去使用B类, 在调用B类方法时,不改变B类方法里原有的逻辑内容,只是在调用B类方法时,在调用它的位置前后增加需要补充的额外逻辑。
具体实现:将B类作为A类的一个属性实例,传给A类的一个属性,A类负责去调用B类实例中的方法,调用时,A类根据需要加上其他的逻辑。

猜你喜欢

转载自7wolfs.iteye.com/blog/1546517