Decorator和Adapter模式之间有什么区别

本文关键字:什么 区别 之间 模式 Adapter Decorator | 更新日期: 2023-09-27 18:23:53

在什么条件下使用Adapter或Decorator模式更好?

欢迎来自真实节目的例子。

Decorator和Adapter模式之间有什么区别

我认为这些不能互换使用。

适配器更改对象的接口,使其适应另一个接口。Decorator在添加功能的同时维护界面。

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

=>向对象动态添加责任