【发布时间】:2017-08-24 23:38:11
【问题描述】:
我刚刚开始学习使用 C# 的装饰器设计模式。
我做了一个例子,除了一件事之外,它的功能与我认为的一样。
我有点理解该模式的重点是动态地向对象添加功能。
所以当我创建这样的对象时:
Inventory a = new Ashbringer(new TravelersBagpack());
a.Execute();
然后我有点预料到,a 对象现在可以调用仅存在于Ashbringer 类中的Execute() 方法。从而向a 对象添加功能。
尽管这我不能不将Execute() 方法添加到Inventory 接口,这最终意味着我必须为所有实现Inventory 接口或抽象装饰器的类实现Execute() 方法.
也许有一两件事我不了解接口,或者我误解了装饰器设计模式的要点?
【问题讨论】:
-
我的装饰器设计模式深受这个人的解决方案的启发。 youtube.com/watch?v=NtXGDTgrTMI
标签: c# design-patterns decorator