Model view controller 如何在服务器端Dart和客户端Polymer.Dart中应用设计模式?

Model view controller 如何在服务器端Dart和客户端Polymer.Dart中应用设计模式?,model-view-controller,mvvm,dart,dart-polymer,Model View Controller,Mvvm,Dart,Dart Polymer,通过将Dart与Polymer.Dart结合使用,可以轻松实现MVC、MVP或MVVM风格的设计模式。我假设在web环境中,控制器部分本质上是一个调用视图或模型的HTTP请求处理程序/路由器 问题是:您能否演示一个关于如何将用户输入数据从HTML+Polymer.dart连接到数据库后端的示例? 就我所见,Polymer.dart宣布的“双向数据绑定”似乎只与客户端代码有关 我的问题是理解侦听HTML表单输入的客户端Dart代码如何与服务器端Dart代码交互。这是一个调用控制器的典型AJAX请求

通过将Dart与Polymer.Dart结合使用,可以轻松实现MVC、MVP或MVVM风格的设计模式。我假设在web环境中,控制器部分本质上是一个调用视图或模型的HTTP请求处理程序/路由器

问题是:您能否演示一个关于如何将用户输入数据从HTML+Polymer.dart连接到数据库后端的示例?

就我所见,Polymer.dart宣布的“双向数据绑定”似乎只与客户端代码有关


我的问题是理解侦听HTML表单输入的客户端Dart代码如何与服务器端Dart代码交互。这是一个调用控制器的典型AJAX请求,还是Dart中缺少的更惯用的双向数据绑定

Dart中的客户端和服务器之间没有双向数据绑定(Meteor是一个流行的JavaScript/NodeJS框架,似乎可以做到这一点)。您提到的设计模式是纯客户端的。Dart中的数据绑定位于视图(HTML标记)和保存视图数据的模型(Dart代码)之间。控制器(或演示者或视图模型)负责对数据更改或其他用户操作(如按下按钮)做出反应,使用HTTP(AJAX)等“服务”将数据发送到服务器或从服务器获取新数据。 服务器处理并存储接收到的数据和/或响应请求的数据

这些模式的主要目的是使客户机代码可测试。 视图(HTML)很难测试。使用这样的模式可以将视图从模型和控制器中分离出来,并至少使这两种模式易于测试


关于这种设计模式的文献很多。对于StackOverflow来说,这样的问题通常很广泛。

您是否有特定技术的背景,以便能够将其与您熟悉的技术进行比较?嗨,Nathaniel,谢谢,我在过去几年中一直在使用Go、PHP和.Net,没有任何特定的框架。我认为甘特已经把问题讲清楚了。无论如何,有些库可能会抽象出客户端和服务器端之间的差距。看到基本库不这样做并不成问题。我同意甘特的评估。如今,前端要厚得多,服务器通常只提供静态html/js,即客户端应用程序,然后通过服务层(REST或手动)支持持久性。有些库支持直接链接回具有Dart包装器的服务器。我想到了Firebase。我同意,这有点宽泛,但可能也是像我这样的新Dart开发人员将面临的主要问题之一。现在我看到的要么是太多的冗余,要么就是好的设计实践。。。看起来我必须创建服务器端模型来对数据库端进行抽象/验证,创建客户端模型来对客户端进行抽象/验证。谢谢你,Günter。你可以在pub.dartlang.org上搜索“model”,有一些开源项目正在进行中,但我自己还没有尝试过。