我正在尝试将我的应用程序重构成MVC,但我仍然停留在M部分。
在数据库支持的应用程序中,模型是在应用程序代码中实现的,对吗?
但是,数据库中有什么--这也不是模型吗?
(我不使用数据库作为简单的对象存储- DB中的数据是企业资产)。
发布于 2011-12-01 13:28:17
是的,代码和数据库中的模型都是“模型”。
模型与您的应用程序“是”什么有关,控制器是它“做”什么的。任何处理数据库直接持久性的代码都被认为是模型。
注意: MVC是一种模式,所以不要想得太多。很容易让所有的超级用户都以正确的方式完成MVC,但最终,这只是一种思维方式!这意味着将业务逻辑排除在数据库和UI之外--仅此而已。在MVC之前,当业务逻辑应该放在服务器上时,人们会把所有的业务逻辑都放在他们的网页中,或者他们会让一堆脚本在数据库中触发,同时执行业务逻辑和持久化代码。MVC是为了让人们开始思考,使他们的代码可重用,所以不要太在意细节。
发布于 2011-12-01 14:34:30
Trygve早在1978年就写了描述MVC模式的初始文件。模型在他的描述是对象模型,代表现实世界的对象,现象和概念。在数据库支持的应用程序场景中,模型是数据的投影。简单地说,模型是应用程序所关注的类及其关系。
在实践中,MVC中通常使用两种模型:领域模型(与数据库的映射)和应用程序模型(在今天的术语中也称为视图模型)。应用程序模型是域模型的投影,它还包含用于呈现视图的视图特定数据。这种方法称为MMVC。控制器直接与域模型交互,并向视图提供应用模型。在MVVM模式中,将应用模型和控制器结合起来。
发布于 2011-12-01 20:33:09
您应该能够切换到应用程序的移动版本(相对于桌面版本),只需切换视图(而不是控制器或模型)。您应该能够在没有GUI测试框架的情况下对模型和控制器进行单元测试。
https://softwareengineering.stackexchange.com/questions/122710
复制相似问题