相关疑难解决方法(0)

这叫做适配器吗?+适配器vs装饰器

我有两个项目:A和B应该相互交互.

  1. 项目A介绍接口名称ISpecialTask​​和项目B应该实现它.

  2. Projet B有一个名为TaskWithListOfProperties的实体,它不能实现ISpecialTask​​,因为它具有不同的属性结构(此外,所有系统都知道如何使用TaskWithListOfProperties并且我不想更改其结构).

所以我决定创建一个名为SpecialTask​​FromListOfProperties的类,它实现了ISpecialTask​​并使用TaskWithListOfProperties实例,以便将它用于项目之间的交互.

interface ISpecialTask {
    long Id{get;}
    long WorkerId{get;}
    long VehicleId{get;}
    long CustomerId{get;}
}

class TaskWithListOfProperties {
    IDictionary<string, long> Properties {get;
}

class SpecialTaskFromListOfProperties : ISpecialTask  {
    public SpecialTaskFromListOfProperties(TaskWithListOfProperties  ins) {
        ...
        ...
    }
    public long Id { get{ ... } }
    public long WorkerId { get{ ... } }
    public long VehicleId { get{ ... } }
    public long CustomerId { get{ ... } }
}
Run Code Online (Sandbox Code Playgroud)

SpecialTask​​FromListOfProperties实际上是适配器模式吗?
适配器模式和装饰器模式有什么区别?

.net c# design-patterns decorator adapter

4
推荐指数
2
解决办法
2596
查看次数

标签 统计

.net ×1

adapter ×1

c# ×1

decorator ×1

design-patterns ×1