Nancy模块应该是DDD应用服务吗?

时间:2015-07-02 06:35:31

标签: domain-driven-design nancy

我已经在一些项目中使用了Nancy web框架。其中一些也是使用领域驱动设计开发的。

我当前的方法

我在这些申请中所做的是以下内容:

  • 使用Nancy模块定义HTTP端点(显然)。
  • 从模块调用应用程序服务(在另一个类中实现)以执行DDD定义的应用程序逻辑。
  • 从应用服务调用中获取返回值(例如DTO或View-Model)并对其进行适当格式化(例如,转换为JSON或在视图中呈现。

我将Nancy模块与app服务分开的原因是我喜欢“干净”的app服务,即通过构造函数注入的所有依赖项,构造函数中没有逻辑,也没有可变状态。此外,dynamic内容仅限于模块。

请注意,此方法的目标明确不是使应用服务与Web无关。

问题(或者代码味道)

这种方法的问题在于它并不是一个明确的关注点分离。在某些情况下,应用服务需要根据某些条件格式化响应。或者它需要返回特定的HTTP状态代码。这是我宁愿在Nancy模块中做的事情。

问题

使用Nancy实现DDD应用服务的首选方法是什么?我应该只是将所有应用服务代码放在模块中并接受我有一个不那么干净的构造函数吗? / p>

0 个答案:

没有答案