8

いくつかの事実/仮定:

  1. Ruby on Rails は MVC アーキテクチャ パターンに従っていると言われています。
  2. MVC から派生した MVVM (Model View ViewModel) は、すべてのボタン、ラベル、およびリンク (View) がモデルがデータを公開する方法 (ViewModel) から分離された抽象化レイヤーを提供します。
  3. シングル ページ アプリの構築に優れた Javascript フレームワークの中には、MVVM パターン (Knockout.js など) を利用するものがあります。
  4. Ruby ツールボックスを確認すると、Draper や Apotomo など、ViewModel と同じように機能するいくつかのプレゼンター ソリューションが表示されます。

私の「事実」セクションに bs がないと仮定すると、気になることが 1 つあります。

  • Rails with Draper、Apotomo (または他のプレゼンター/デコレーター) を MVVM ソリューションと呼ぶことはできますか?
  • Draper を使用してモデルからのデータをデコレーター/プレゼンター コンテナーの形式でカプセル化すると、Rails で MVVM パターンに従っていると言えますか?
  • それとも、Knockout.js のように何かが欠けていて、MVVM と呼べないのでしょうか?

あなたの洞察に感謝します。

4

1 に答える 1

4

私の意見ではありません....MVVMは、基礎となるデータ/ドメインオブジェクトから切断された特定のビューオブジェクトを作成すると考えています。

Rails プレゼンター パターンでは、これらのプレゼンターは通常、アクティブなレコード オブジェクトをラップし、プレゼンテーションに関連するメソッドをそれに追加します。

于 2012-06-18T13:05:06.493 に答える