万丈高楼平地起

”万丈高楼平地起“——如何从“建筑师”角度打造【装饰者设计模式】

孤者浪人 提交于 2020-01-15 12:56:14
什么是装饰者模式 在 不改变原有对象 的基础上 附加功能 ,相比生成子类更灵活。 装饰者模式应用场景 过滤器,网关控制,P2P分控审批 装饰者模式类图 装饰者模式定义 (1)抽象组件:定义一个抽象接口,来规范准备附加功能的类 (2)具体组件:将要被附加功能的类,实现抽象构件角色接口 (3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口 (4)具体装饰:实现抽象装饰者角色,负责对具体构件添加额外功能。 装饰者代码实现 定义一个抽象的接口 /** * 定义【抽象构建角色】:GatewayComponent * GatewayComponent:相当与建筑师设计好高楼的建造目标 */ public abstract class GatewayComponent { /** * 定义共同行为的方法标准 */ public abstract void service(); } 定义被装饰角色 /** * 【网关获取基本参数】,BasicComponentGateway【被装饰的类】 * BasicComponentGateway:相当于建房子的【地基】 */ public class BasicComponentGateway extends GatewayComponent { public void service() { System.out.println(