ASP MVC应用程序架构中的单独服务和业务层?

时间:2014-03-09 11:56:58

标签: asp.net-mvc model-view-controller architecture n-tier-architecture

最近几天我正在阅读很多有关应用程序架构的内容,因为我为新项目做好准备。 到目前为止,我几乎使用的架构如下:

表示层(ASP MVC控制器) 业务层[使用域模型] 存储库

那些使用依赖注射与组合根。

正如我上次读到的那样,我发现有很多资源可以提供类似的内容:

表现层 服务层 业务层 存储库

因此,在Presentation和Business之间使用Service层。我能看到的唯一一件事就是自动化,因此Service层将充当为业务层准备输入(模型)的中间件。如果这是唯一的好处,那么我不确定我会选择全新的一层。如果这是服务层的唯一好处,我会牺牲瘦控制器故事并将automapper放入控制器。

所以,问题是......在业务面前有一个我缺少的服务层还有其他一些好处吗?

任何想法都将受到高度赞赏! 感谢

1 个答案:

答案 0 :(得分:1)

服务层是您的域模型(业务)的瘦包装器。您可以使用任何模式(如Facade)来创建服务层,因为服务层将负责根据您的要求编写业务逻辑。这方面有很多方面,但如果您使用简单的CRUD应用程序,这就足够了。