【发布时间】:2013-07-18 18:45:27
【问题描述】:
在什么情况下使用适配器或装饰器模式更好?
欢迎提供真实程序的示例。
【问题讨论】:
标签: c# design-patterns
在什么情况下使用适配器或装饰器模式更好?
欢迎提供真实程序的示例。
【问题讨论】:
标签: c# design-patterns
我不认为这些可以互换使用。
适配器改变一个对象的接口以使其适应另一个接口。装饰器在添加功能的同时维护界面。
public class Foo
{
}
public class Bar
{
}
// adapter takes Foo and pretends it is Bar
public class FooBarAdapter : Bar
{
public FooBarAdapter( Foo foo )
{
}
}
// decorator maintains the interface and adds features
public class FooDecorator : Foo
{
public FooDecorator( Foo foo )
{
}
}
【讨论】:
你有这些带有 uml 图表代码和解释的链接
适配器:http://www.dofactory.com/Patterns/PatternAdapter.aspx
=> 匹配不同类的接口
装饰者:http://www.dofactory.com/Patterns/PatternDecorator.aspx
=> 为对象动态添加职责
【讨论】: