设计模式——装饰模式
装饰者模式,顾名思义,专门用来装饰“事物”的。“事物”没错!是个抽象的实体,面向接口编程教我们的,因此就像下图所示:
?
eclipse是个抽象体。而EasyShell、PMD、Maven都是具体的插件,用于修饰eclipse,由于面向接口,因此抽出了一层,即plugIn。而插件需要装饰这个“事物”,因此需要有一个这个“事物”的引用,即Eclipse。变化的是size(),因此如何让它们统一起来?因此让PlugIn实现Eclipse接口即可。?