Ajax は非同期であるため、論理分割が発生します。これが私のコントローラーモジュールです。サーバーへのすべてのデータ要求はここを通過し、ここに戻ってきます。
function cType( type ) {
var object_pipe = MType[ type ].pre();
if ( object_pipe !== 'complete' ) {
var string_pipe = JSON.stringify( object_pipe );
cMachine( 'pipe=' + string_pipe , function( text ) { // cMachine is an ajax Call - here is the asynch call back
MType[ type ].post( text );
} );
}
}
以下のモジュール構造を作成して、ajax の非同期性によって分割された「スペース」がオブジェクト リテラルに結合されるようにします。pre()
ajax呼び出しの前をpost()
指し、ajax呼び出しの後を指します。
/**
** MABAdder
*/
MType.MABAdder =
{
pre : function() { // some logic and view elements called here
},
post : function( string_pipe ) { // some logic and view elements called here
}
};
この構造は、MVC パターンを技術的に破るモデルからビューを呼び出すことを除けば、うまく機能します。
ただし、コードはきちんと整理されており、適切にスケーリングされます。
これは、堅牢なコードのコアとなる原則を破っていますか?
私にとっては、厳密な MVC パターンに準拠するよりも、ajax の非同期の性質で動作するパターンを作成する方が理にかなっています。
これは受け入れられるフレームワークのシードですか?