【问题标题】:How to apply design patterns in server-side Dart with client-side Polymer.dart?如何使用客户端 Polymer.dart 在服务器端 Dart 中应用设计模式?
【发布时间】:2014-01-23 00:16:52
【问题描述】:

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

问题是:您能否举例说明如何将用户输入数据从 HTML + Polymer.dart 连接到数据库后端?

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

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

【问题讨论】:

  • 您是否具有特定技术的背景,以便回答可以将其与您熟悉的事物进行比较?
  • 嗨,Nathaniel,谢谢,过去几年我一直在使用 Go、PHP 和 .Net,没有任何特定的框架。我认为 Günter 已经明确了这个问题。无论如何,那里的一些库可能会抽象客户端和服务器端之间的差距。看到基础库不这样做不是问题。
  • 我同意 Günter 的评估。如今,前端变得更加厚实,服务器通常只提供静态 html/js 即客户端应用程序,然后通过服务层(REST 或手动)支持持久性。有些库支持直接链接回具有 Dart 包装器的服务器。我想到了 Firebase。 firebase.com

标签: model-view-controller mvvm dart dart-polymer


【解决方案1】:

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

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

关于这种设计模式的文献很多。对于 StackOverflow,此类问题通常过于宽泛。

【讨论】:

  • 我同意,它有点宽泛,但也许也是像我这样的新 Dart 开发人员将面临的主要问题之一。现在我看到太多冗余或只是好的设计实践......看起来我必须创建服务器端模型以抽象/验证到数据库端,并创建客户端聚合物模型来抽象/验证客户端。谢谢你,君特。
  • 您可以在 pub.dartlang.org 中搜索“模型”,有一些开源项目正在进行中,但我自己还没有尝试过其中之一。
猜你喜欢
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多