的子类,从而扩展原有的子类的功能。
场景:需 要注意体会他和Decorator的需别。Proxy是 继承需要修饰的类,而Decorator用的是包含的方式。Proxy模 式,或者准确地说DynamicProxy模式,是现代AOP框 架实现中的一种常用方式。典型的实现如Spring,JBoss以 及Castle Project中的Aspect#。 实现:继承,并在过载方法中添加需要的修饰功能。
重构成本:低。
3 行为型
3.1 Interpreter
思想:当 有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,定义一个解释器,这 个解释器使用该表示来解释语言中的句子。
场景:其 实,从物理结构上,该模式的代码架构看起来可能和Composite模式一模一样,致使其针对的逻 辑语义不同。Composite模式描述一种一般的整体和部分使用接口上的一致性,而Interpreter模 式则侧重于语言解释器的实现构架。
实现:如 上图,基本同Composite模式。
重构成本:高。
3.2Iterator