7

いくつかの事実/仮定は:DraperまたはApotomoのRuby on RailsはMVVMですか?

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

私の「事実」セクションには、基地局が存在しないと仮定すると、私を気に一つのことがあります:

  • たちはドレイパー、Apotomo(またはその他のプレゼンター/デコレータ)でのRailsを呼び出すことができMVVMソリューションは、 ?
  • ModelからのデータをDraperのデコレータ/プレゼンターコンテナの形式でカプセル化すると、RailsでMVVMパターンに従っていると言えますか?
  • 何か不足していますが、Knockout.jsのようにMVVMと呼ぶことはできません。

あなたの洞察をいただきありがとうございます。

答えて

3

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

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

+0

プレゼンター/デコレーターとモデルレイヤーを組み合わせると、確実にDraperのケースに同意できます。しかし、Apotomoはどうですか?あなたがチャートをレンダリングするためにApotomoを使用していると想像してみましょう(higcharts.comと言う)。あなたはそれをコード化して、apotomoウィジェットはparamの一連のデータ(ラベルと数字だけ)として受け取り、あらかじめ定義された方法で表示します。このようなアプローチは、「モデルレイヤーからの切断」についてのあなたの期待に応えますか?あなたの答えと意見をありがとう、私はそれを感謝します! – socjopata

+0

@socjopataさて、ビューオブジェクトを作成してapotomoに送信すれば、確かに...だが、apotomoがこの切断を要求するとは思わない。 –

+1

私は、この問題に関して他のstackoverflowユーザーといくつかの議論を希望していました。それにもかかわらず、 "緑のダニ"はあなたに属します。あなたの意見をありがとう:) – socjopata

関連する問題