2

私のWebアプリには、ブログ表示、ブログエントリリスト、ブログエントリエディタ、ブログエディタ、1ページのコメントリストの5つのセクションがあります。

これらのセクションの一部は、アクションがトリガーされた場合にのみ表示されます。たとえば、ブログエントリリンクの[コメントの表示]リンクをクリックすると、コメントリストが表示されます。[ブログエントリの編集]リンクをクリックすると、ブログエントリエディタが表示されます。

ノックアウトjsでは、1つの大きなビューまたは複数のビューを持つ方が良いですか?(パフォーマンスと保守性の条件)

4

1 に答える 1

2

複数のビュー モデルを使用しても、1 つのファット モデルと比較してパフォーマンスに影響はないと思いますが、クリーンなコードと便利さという点では、1 つのモデルで OOP を使用します。

私は次のことを意味します:

function SubModel1 () { ... }
function SubModel2 () { ... }
function SubModel3 () { ... }

function MainModel () {
  this.subModel1 = new SubModel1();
  this.subModel2 = new SubModel2();
  this.subModel3 = new SubModel3();
}

モデル固有のロジックはすべて分離されており、MainModel コンストラクターでモデル間の各オブザーバブルを簡単にサブスクライブできます。

私は両方のアプローチ (別々のモデルと 1 つの大きなモデル) を試しましたが、これは複雑化を避けるのに本当に役立ちます。

また、別のモデルを選択するタスクがまだあります。たとえば、UI ウィジェット。自己完結型であるため、モデルを外部から遠ざけることをお勧めします

于 2012-04-09T16:12:55.623 に答える