R: 1
このSOポストに記載されているように、それらは相互に排他的ではありません
これは、このより一般的なSO 投稿に関連する特定の質問です。
ただし、コントローラーはユーザーからのすべての呼び出しをルーティングすることを想定しています。これを行うには、要素を初期化し ( addEventListener を設定)、モデルを呼び出すようにします。
例:(私のコントロールオブジェクトから)
signin_input.addEventListener( "keypress", function( event )
{
if( event.keyCode === 13 )
{
new ModelType( 'signin' ).invoke();
return false;
}
}, false );
しかし、私のサイトが成長するにつれて、コントローラーが大きくなっています。
私ができることの1つは、初期化をそれぞれのモジュールに移動することです。たとえば、私のサインイン ロジックは ModelType というオブジェクトにあります。初期化はオブジェクト Control で行われます。
Control のサイズを小さくするには、初期化を ModelSignIn に移動します。
または、コントローラー オブジェクトを複数のオブジェクト (ControlPage1、ControlPage2 など) に分割することもできます。
どの方法が最適か、それとも他の方法が最適か?
初期化を相関オブジェクトに移動する利点の 1 つは、オブジェクトが自己完結型になり、他のアプリケーションにコピー ペーストできることです。欠点は、これが MVC パターンを壊しているように見えることです。