C# 设计模式系列教程-装饰模式
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。修饰类必须和原来的类有相同的接口。 2.3 装饰类: 装饰抽象类,继承了Component,从外类来扩展Component类的功能。 2.4 具体装饰者:负责给构建对象添加职责。它是由Decorator的SetComponent方法来实现的,因而它们的职责是单一的。 4.1.2 类的核心职责与动态添加的职责是分离的。如果再向主类中添加新的功能,一是违反了开放封闭原则,二是增加了主类的复杂度。 4.3 适用场景 4.3.1 当需要为已有功能动态地添加更多功能时。 4.3.2 类的核心功能无需改变,只是需要添加新的功能时。 5.1 类图设计 5.2 代码实现 5.3 客户端调用 5.4 运行结果 用拳脚攻击!
下载地址
用户评论