最近、依存性注入パターンを使用するようにPHPライブラリを更新しました。クラスでオブジェクトをインスタンス化するのではなく、ObjectMakerというクラスでオブジェクトをインスタンス化し、オブジェクトの「getter」関数を介してオブジェクトを渡します。
これを行うために私が見ることができる唯一のポイントは、インスタンス化によって引き起こされた障害を分離することです。
しかし、私は1人の人間であり、単体テストを行っていないため、依存性注入パターンを使用するようにJavaScriptを更新しても意味がありません。
これらの依存関係は私に問題を引き起こしません。
それを使用せずにJavaScriptプロフェッショナルに電話することはできますか?
これを使用してもパフォーマンスが向上することはなく、より抽象的なコード(オブジェクトがオブジェクトを作成する)-「パターン」をあまり使用しない単純なオブジェクトモデルを好みます。これはスタイル設定が正しいですか?
質問?
依存性注入パターンを使用しても、JavaScriptプロフェッショナルレベルを呼び出すことはできませんか?
/**
*Control
*/
var Control = ( function ()
{
var Control = function ( type )
{
this.TIME = 4000;
this.form_element = document.getElementById( type ),
this.response_element = document.getElementById( type + '_response' );
this.text_object = new Text( this.form_element ),
this.message_object = new Message( this.response_element ),
this.effects_object= new Effects( this.response_element );
};
Control.prototype.invoke = function( )
{
if( Global.validate_input_on === 1 )
{
if( !this.text_object.checkEmpty() )
{
this.message_object.display( 'empty' );
this.effects_object.fade( 'down', this.TIME );
return false;
}
if( type === 'signup' && !this.text_object.checkPattern( 'name' ) )
{
this.message_object.display( 'name' );
this.effects_object.fade( 'down', this.TIME );
return false;
}
if( !this.text_object.checkPattern( 'email' ) )
{
this.message_object.display( 'email' );
this.effects_object.fade( 'down', this.TIME );
return false;
}
if( !this.text_object.checkPattern( 'pass' ) )
{
this.message_object.display( 'pass' );
this.effects_object.fade( 'down', this.TIME );
return false;
}
}
var response_element = this.response_element;
AjaxNew.repeatUse( ajaxSerialize( this.form_element ) + '&ajax_type=' + type + '_control', function( server_response_text ) { ajaxType( server_response_text, this.response_element, 'respond' ); } );
};
Control.in = function()
{
new Control( 'signin' ).invoke();
};
Control.up = function()
{
new Control( 'signup' ).invoke();
};
Control.out = function()
{
AjaxNew.repeatUse( '&ajax_type=ControlSignOut', function( server_response_text ) { ajaxType( server_response_text, 0, 'simple' ); } );
};
Control.try = function()
{
AjaxNew.repeatUse( '&ajax_type=ControlTryIt', function( server_response_text ) { ajaxType( server_response_text, 0, 'simple' ); } );
};
return Control;
} () );