首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >胖模型/瘦控制器与服务层

胖模型/瘦控制器与服务层
EN

Stack Overflow用户
提问于 2012-01-05 07:13:09
回答 2查看 25.7K关注 0票数 85

我使用.Net开发企业应用程序已经有很多年了,我的应用程序通常有一个域模型,其中包含映射到SQL DB表的实体。我使用存储库模式、依赖注入和服务层。

最近,我们开始了MVC3项目的工作,我们讨论了应该把哪种逻辑放在哪里。我遇到了瘦控制器/胖模型体系结构,想知道服务层如何适应

选项1-模型与服务对话

控制器是瘦的,调用模型上的方法。这些模型“知道”如何从数据库中加载自己的文件,并与存储库或服务通信。例如,customerModel有一个Load(id)方法,并加载customer和一些子对象,如GetContracts()。

选项2-控制器与服务对话

控制器请求服务检索模型对象。加载/存储等的逻辑在服务层。该模型是一个纯实体模型,只包含数据。

为什么选择1会是更好的选择,特别是当我们谈到企业应用程序时,我的经验告诉我要分离关注点,尽可能地保持模型和控制器的精简,并让专门的服务来处理业务逻辑(imcl.DB交互)

感谢所有对好资源的建议和参考。

EN

回答 2

Stack Overflow用户

发布于 2012-01-05 07:28:16

选项1:您可以考虑对==服务进行建模。模型也是业务层。

选项2是一个贫血域模型反模式。http://en.wikipedia.org/wiki/Anemic_domain_model

票数 0
EN

Stack Overflow用户

发布于 2012-01-13 14:57:24

选项2就是所谓的“肥肥丑陋的控制器架构”(Reference to author of this expression)。这种解决方案通常与MVC精神背道而驰,因为它打破了关注点的分离。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8735466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档