javascript 디자인 모드 -- Builder

4208 단어 디자인 모드
Builder: 복잡 한 대상 의 구축 층 과 표현 층 을 서로 분리 시 키 고 같은 구조 재 과정 은 서로 다른 표현 을 사용 할 수 있 습 니 다.
    //      
    var Human = function(param){
        //  
        this.skill = param && parma.skill || '  ';
        //    
        this.hobby = param && param.hobby || '  ';
    }
    //      
    Human.prototype = {
        getSkill : function(){
            return this.skill;
        },
        getHobby : function(){
            return this.hobby;
        }
    }
    //      
    var Named = function(name){
        var that  = this;
        //   
        //            
        (function(name,that){
            that.wholeName = name;
            if(name.indexOf(' ')>-1){
                that.FirstName = name.slice(0,name.indexOf(' '));
                that.secondName = name.slice(name.indexOf(' '));
            }
        })
    }
    //      
    var Work = function(work){
        var that = this;
        //   
        ...
    }
    //       
    Work.prototype.changeWork = function(work){
        this.work = work;
    }
    //        
/*** *       *   name *   work **/
var Person = function(name,work){
    //         
    var _person = new Human();
    //           
    _person.name = New Named(name);
    //         
    _person.work = new Work(work);
    //      
    return _person;
}

사용 방식
var person = new Person('xiao ming','code');

공장 모델 은 하나의 대상 을 만 들 었 습 니 다. 그 가 추구 하 는 것 은 창설 의 결과 입 니 다. 다른 요구 가 없 기 때문에 그것 은 실제 적 인 창설 과정 일 뿐 입 니 다. 그러나 건설 자 모델 은 다 릅 니 다. 창설 의 결 과 를 얻 을 수 있 을 뿐만 아니 라 창설 의 구체 적 인 과정 에 도 참 여 했 습 니 다. 그리고 창설 의 구체 적 인 실현 의 세부 사항 도 간섭 에 참 여 했 습 니 다. 창설 의 대상 이 더욱 복잡 하 다 고 할 수 있 습 니 다.또는 이 모드 가 만 든 것 은 복합 대상 입 니 다.

좋은 웹페이지 즐겨찾기