最近几天我正在阅读很多有关应用程序架构的内容,因为我为新项目做好准备。 到目前为止,我几乎使用的架构如下:
表示层(ASP MVC控制器) 业务层[使用域模型] 存储库
那些使用依赖注射与组合根。
正如我上次读到的那样,我发现有很多资源可以提供类似的内容:
表现层 服务层 业务层 存储库
因此,在Presentation和Business之间使用Service层。我能看到的唯一一件事就是自动化,因此Service层将充当为业务层准备输入(模型)的中间件。如果这是唯一的好处,那么我不确定我会选择全新的一层。如果这是服务层的唯一好处,我会牺牲瘦控制器故事并将automapper放入控制器。
所以,问题是......在业务面前有一个我缺少的服务层还有其他一些好处吗?
任何想法都将受到高度赞赏! 感谢
答案 0 :(得分:1)
服务层是您的域模型(业务)的瘦包装器。您可以使用任何模式(如Facade)来创建服务层,因为服务层将负责根据您的要求编写业务逻辑。这方面有很多方面,但如果您使用简单的CRUD应用程序,这就足够了。