首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分层架构mvc

分层架构mvc
EN

Stack Overflow用户
提问于 2015-02-14 18:44:20
回答 2查看 148关注 0票数 0

我正在使用MVC框架创建一个web应用程序。我想在控制器和领域模型之间添加一个层,我认为它在DDD中被称为应用层,以避免在领域模型中放置特定于某个用例的逻辑。控制器将只与此层交互,此层将使用域模型编排操作。这一层将尽可能地保持较薄,推送所有不是特定于域模型的用例的逻辑。我将调用属于这个层的类DomainCtrl。

示例登录场景:模型: LoginForm DomainCtrl: AuthCtrl UI: ui控制器

1.ui控制器接收请求2.创建AuthCtrl 3的实例,authCtrl创建LoginForm实例并将传递给authCtrl 4的请求数据填充到authCtrl 4中。LoginForm执行登录5。

这是组织应用程序的好方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-14 21:24:18

你的问题

这是构建应用程序的好方法吗?

是个很有负担的问题。简单的答案是,但更正确的答案是它依赖于

让我们从简单的答案开始。让您的主要应用程序不知道UI通常是一个好主意。这意味着您可以轻松地从不同的地方使用您的应用程序。在DDD中,这个外层通常称为应用层。它主要负责协调您可能依赖的域、持久性和其他资源之间的交互。这也允许您让您的域名在中心,不知道其他的一切。这使得您的域易于测试和维护,如果实现得好的话。

现在,答案的“这取决于”部分。DDD并不是构建应用程序的唯一成功方法,在某些情况下,它可能比其他任何东西都更多地是一个障碍。你必须问问自己我的应用程序在做什么。有许多特定领域的规则吗?我是否只获取和存储基本数据等?在选择架构和技术之前,这些都是您需要回答的问题。

我仍然会说,选择DDD方法可能不会出错,因为这通常是一种很好的方法。

*注意:我不太清楚您的示例,但是您应该小心地将UI概念泄漏到您的领域/应用程序中。登录表单完全是一个UI概念,在某种程度上也是这样。您也许可以让您的应用程序返回用户的详细信息,但是UI层应该决定是否允许用户继续操作。

票数 1
EN

Stack Overflow用户

发布于 2015-02-16 03:24:16

在高级别视图中,

但它最终取决于“如何”您的逻辑分离您的层。在您的场景中,我没有看到任何应用层。

  • 我认为AuthCtrl是域吗?谁创造了AuthCtrl?它存在于哪一层?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28518954

复制
相关文章

相似问题

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