策略还是访客

本文关键字:访客 策略 | 更新日期: 2023-09-27 18:01:15

设置:

我有一系列的类,每个类都充当不同Web服务的代理。这些类都实现了以下结构的两个叶接口之一:

interface IWebService
{
    Dictionary<string, decimal> Get();
}
interface IWebServiceReference : IWebService
{
    decimal Get(string toCode);
}
interface IWebServiceTable : IWebService
{
    decimal Get(string fromCode, string toCode);
}

我正在尝试创建一个类WebServiceContext,它封装具体的类并使它们可互换。然而,由于这些具体的类实现了接口层次结构,我不需要尝试它就知道我不会得到预期的结果。

问题:

我以前从未使用过访问者模式,但这种情况需要这种模式吗?

如果是这样的话,我应该使用它吗?或者我可以通过某种方式改进我的当前设计,以实现策略模式,来避免它带来的代码维护复杂性吗?

策略还是访客

Visitor设计模式是将算法与其操作的对象结构分离的一种方式。

你所描述的听起来更像是一种立面模式:

立面是一个提供简化的大型车身接口的代码,例如类库