【发布时间】:2011-09-09 19:50:54
【问题描述】:
我使用 MVC 模式已经有一段时间了,但老实说,我并不真正了解如何使用和应用“模型”......我的意思是,一个人可以轻松逃脱只使用控制器和视图就可以了。
我了解模型的概念,但我不习惯在模式中应用它...我在 .NET 中使用 MVC 模式,也使用 Wheels for ColdFusion。
“模型代表应用程序的信息(数据)和用于操作数据的业务规则” - 是的,我明白了......但我只是不明白如何应用它。将调用路由到控制器并让控制器调用数据库、组织数据然后将其提供给视图会更容易。我希望有人能理解我的困惑所在......
提前感谢您的帮助!
【问题讨论】:
-
您能否进一步解释您如何“组织数据并使其可用于视图”。根据您如何执行此操作,您可能已经有了模型的常规实现(如 Sergi 所述),或者更容易提出改进建议(如 Ben 的回答)。
-
假设调用了: /user/login ... 路由被调用并且用户控制器有一个名为 "login" 的操作。此时,我可以在登录操作中执行所有逻辑(检查数据库中的用户并对其进行身份验证),然后在视图中显示结果。如果我理解每个人在说什么,我应该有一个“用户”模型,其中包含处理各种任务的功能,例如“userLogin”、“userUpdate”以及“用户”可能想要在站点范围内执行的任何其他任务?
-
我认为您的问题更多是关于面向对象编程而不是 MVC。您需要先掌握面向对象的编程,然后再考虑 MVC 的用途。
-
不,根本不是这样。我了解如何使用对象。我需要了解如何组织 MVC 模式。
-
你的
User模型不应该有任何功能;理想情况下,模型类将只有属性。您应该将模型类视为数据容器、信息传输器。除此之外,它们(主要)是“愚蠢”的对象。让您的 LoginController(或 LoginService 或其他)处理业务逻辑,然后用有关登录用户的数据填充 User 对象并将其传递给视图以进行显示。达达!你得到了一个模型类:User。
标签: asp.net-mvc model-view-controller coldfusion model coldfusion-8