我有一个具有这种结构的C#解决方案:
项目3:具有自己的界面的
项目1中的dao实现了项目2中的接口。
我遇到的问题是需要项目2中的接口来描述我的dao类。需要使用wcf接口来描述项目3中我的wcf服务中可用的功能。除了wcf接口上的wcf属性之外,两个接口完全相同,因为dao中的所有函数都需要通过wcf服务文件也是。可以更改/替换实现或者更确切地说dao类,但必须始终遵循相同的结构,因此需要接口。现在,当我尝试在我的wcf接口中实现它时,这两个接口是相同的,我被告知我必须有效地覆盖我从中派生出的接口中的所有方法。这是正确的做法吗? wcf接口需要实现项目2的接口,以便它提供dao所需的所有功能(全部都是这样)。
之前我的项目设置如下:
dao和wcf服务都实现了来自项目2的相同接口。在使用dao时,接口上的wcf属性是否会产生任何不利影响?我可能遇到的一个问题是wcf接口最终可能有基本接口没有的额外功能,所以我认为这个先前的结构会出错。说实话,我不知道。
我知道我可能没有非常清楚地解释它,实际上涉及到两个甚至三个问题,但这是最好的解决方法。我想我的三个主要问题如下:
答案 0 :(得分:0)
您首先定义的结构很好,您有一个实现接口的接口,子接口可以添加不在基础中的新方法。但是,您不需要在子接口中定义基本方法,因为它们都是继承的,所以现在您的子接口将为空。在此模型中,子接口可以具有WCF属性。
现在,您是否必须在WCF服务中实现所有这些方法?很简单,因为这就是接口的作用 - 它们定义了必须实现的合同。