4

我正在编写一个 WCF 服务应用程序,我将 WCF 类隔离到它们自己的“表示层”中(因为没有更好的术语)。然后在它下面,我有一个协调域对象的应用程序层。

我喜欢没有任何 WCF 技术泄漏到应用程序层的事实,因此我可以轻松地将其替换为 Web API 之类的东西(我已经考虑过)。然而,我担心的是,它似乎打破了不要重复自己的规则。WCF 层本质上已成为“代理”层,它只是将调用移交给应用程序层,保持相同的签名。

例如:

public void Method(string arg)
{
   _appService.Method(arg);
}

这是杀过头了?我应该将逻辑上移到 WCF 类中吗?

4

2 回答 2

3

在面向服务的应用程序中实施 DRY 原则时必须小心。通常,服务形成它自己的Bounded Context,您将希望能够独立于其他服务中的业务逻辑发展代码。这条规则的例外是“实用程序”代码,它解决了整个垂直切片中的横切关注点。

关于您给出的具体示例 - 您已将逻辑与其托管方式分离。这并不违反 DRY,因为代码的上下文不同。

于 2013-10-23T14:57:08.883 回答
1

我看不出你所做的有任何问题。正如老话所说,添加另一层抽象永远不会出错。正如您所说,它可以很容易地将其交换为另一个实现。

于 2013-10-23T14:41:13.403 回答