Kir*_*iki 16 model-view-controller
维基百科说:
MVC为数据库,用户和数据处理组件提供前端和后端.将软件系统分离为前端和后端简化了开发并分离了维护.
我仍然没有看到模型 - 视图 - 控制器原理与前端和后端的概念之间的联系.可以将具有数据库访问权限的模型视为后端,将视图视为前端吗?
ter*_*ško 36
好的..首先是条款:
如果你阅读GUI架构并研究一般的MVC模式,你就会明白MVC不是关于后端和前端的分离.特别是在涉及MVC风格的模式时,我们将其用于Web应用程序.
MVC和相关模式的目标是将表示与域业务逻辑分开.
以下是MVC部分的基本职责:
我们来举个例子:
这一切都可以通过客户端JavaScript完成.你可以让MVC三元组运行"前端"!同时,提供REST API的"后端"是类似MVC的结构.只有这次View才会生成JSON响应,而不是HTML.
*结论:您可以在后端和前端使用MVC模式.**
由于您已经使用Rails构建了一些应用程序,因此您对MVC的理解可能会失真.我说这是因为,因为RoR最初是作为一个原型框架(注意所有脚手架和其他用于生成丢弃代码的功能),并且由于它的起源,Rails实际上实现了一个非常贫乏的MVP版本.
我把它称为"贫血",因为它们既妨碍了View (它应该是MVP中的被动对象,而不是简单的模板)和模型层(是的,它应该是一个复杂的层,而不是ORM实例的集合).
我建议你阅读两本出版物,以便更好地掌握这个主题:
第二个是尽可能接近模式的初始定义.这与"GUI架构"文章一起,应该为您提供坚实的基础.而PoEAA书(硬读,顺便说一句)将为您提供扩展它的背景.
Pit*_*kos 11
也许下图可以帮助..
MVC Human language backend/frontend
--------------- --------------- ---------------
model -> data -> backend
controllers -> actions -> backend/frontend (depends on implementation)
views -> GUI -> frontend
Run Code Online (Sandbox Code Playgroud)