gpt4 book ai didi

javascript - Ember 中的胖模型或 Controller

转载 作者:行者123 更新时间:2023-11-29 18:22:45 25 4
gpt4 key购买 nike

Ember 中“MVC”的实现似乎与我已经习惯的略有不同。感觉好像 Ember 中的流程鼓励将业务逻辑放在 Controller 中。这是意图,还是仅仅是许多过时的或速记示例、教程和 fiddle 的混淆结果?

PS:这些“过时或速记”的例子在当时都是非常宝贵的,我非常感谢他们的作者所做的努力:)

最佳答案

Ember 的 MVC 架构不能直接与典型的网络应用程序相提并论。主要区别在于服务器 MVC 架构仅真正处理请求范围,而 ember 应用程序没有请求的概念。整个应用可用,或者根本不可用。

服务器端代码主要执行模型操作和通知,因此拥有胖模型/瘦 Controller 很有意义。 Controller 本质上是模型的路由器。

如果您将 Ember 的 Controller 视为一个模型代理,那么使 Controller 变胖更有意义。所有逻辑都委托(delegate)给 Controller ,而模型实际上只是为对象提供服务。这是一个简化的布局。

服务器端架构

View       - Displays information
Controller - Delegates request to relevant model,
calls the appropriate view with relevant (manipulated) data
Model - (Fat) Most of the application's thinking happens here,
calls the database for records
(database) - Serves records as requested

Ember 架构

Router        - Sets up which template/view/controller to use for the page
Template/View - Displays information from the controller
Controller - All interactive logic goes here,
interacts with model for records
Model - Record store which calls server side api for additional records

如你所见,ember模型应该更像是服务器端的数据库功能,而ember controller更像是服务器端的 Controller 。

看看Core ConceptsIntroduction to Controllers在 ember 页面上了解更多信息。

关于javascript - Ember 中的胖模型或 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16828977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com