0

最近、依存性注入パターンを使用するように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;
} () );
4

2 に答える 2

2

他の開発者と一緒にブロックでクールな子供になれないリスクがあるかもしれませんが、それはあなたのコードが専門的ではないという意味ではありません. プロジェクトに最適なものを使用してください。やろうとしていることに対してやり過ぎの場合は、使用しないでください。

于 2012-04-13T17:22:37.720 に答える
1

これを実行する唯一のポイントは、インスタンス化によって引き起こされた障害を分離することです。

依存性注入の目的は、疎結合を促進することです。JS コードでこれが必要かどうかは、JS コードのスコープに大きく依存します。つまり、JS フレームワークを作成していますか、それともいくつかの div を操作していますか?

Web開発会社はあなたの仕事の専門家を見つけますか? 場合によります。コードに DI を無償で追加しているのは、見栄えを良くするためですか? それとも、DI を追加する本当の理由があるのでしょうか? プロのウェブ会社は違いを知っています。

于 2012-04-13T17:27:53.100 に答える