디자인 모델 학습 - 건설 모델

건설 모델 - 복잡 한 대상 의 구 조 를 그 표시 와 분리 시 켜 같은 구조 과정 에서 서로 다른 표 시 를 만 들 수 있다.(제 이 해 는 통 일 된 구조 함수 입 구 를 만 드 는 것 입 니 다) 생 성 할 제품 이 복잡 한 내부 구 조 를 가지 고 결합 을 풀 어야 합 니 다.다음은 건축 모델 의 구성 이다.
 
 
  • 추상 적 인 건설 자 역할 (제품 대상 의 각 구성 성분 의 건설 을 규범화 시 키 고 응용 프로그램의 업무 논리 에 독립 한다)
  • 구체 적 인 건축 자 역할 (응용 프로그램 과 밀접 하 게 연 결 된 유형. 그들 은 지도자 가 호출 한 후에 제품 사례 를 만 들 었 다. 이 역할 은 추상 적 인 건축 자 역할 이 제공 하 는 방법 을 실현 하 는 전제 에서 제품 조립 을 완성 하고 완제품 을 제공 하 는 기능 을 달성 했다)
  • 지도자 역할 (구체 적 인 건축 자 역할 로 제품 대상 을 만 들 고 지도 자 는 제품 류 의 구체 적 인 지식 이 없 으 며 진정 으로 제품 류 의 구체 적 인 지식 을 가 진 것 은 구체 적 인 건축 자 대상)
  • 제품 캐릭터 (건조 중의 복잡 한 대상)
  •  
    1. 추상 적 인 건축 자 역할
     
    interface PersonBuilder{
    	void buildHead();
    	void buildBody();
    	
    	Person buildPerson();
    }

    2, 구체 적 인 건설 자 역할
     
    class ManBuilder implements PersonBuilder{
    	Person person;
    	
    	public ManBuilder(){
    		person = new Man();
    	}
    	
    	public void buildHead(){person.setHead("    ");}
    	public void buildBody(){person.setBody("    ");}
    	
    	public Person buildPerson(){return person;}
    }

    3. 지도자 역할 (건설 자 방법 으로 제품 만 들 기)
     
    class PersonDirector{
    	public Person constructPerson(PersonBuilder pd){
    		pd.buildHead();
    		pd.buildBody();
    		return pd.buildPerson();
    	}
    }

    4, 제품 역할
     
    class Person{
    	private String head;
    	private String body;
    	public String getHead() {
    		return head;
    	}
    	public void setHead(String head) {
    		this.head = head;
    	}
    	public String getBody() {
    		return body;
    	}
    	public void setBody(String body) {
    		this.body = body;
    	}
    }
    
    class Man extends Person{};

     사용 방법 은 다음 과 같다.
     
    public class Test {
    
    	public static void main(String[] args) {
    		
    		//             ,                 ,
    		//              
    		PersonDirector pd = new PersonDirector();
    		Person person = pd.constructPerson(new ManBuilder());
    		
    		System.out.println(person.getHead());
    		System.out.println(person.getBody());
    	}
    
    }

     건축 모델 은 제품 내부 의 이미 지 를 독립 적 으로 변화 시 킬 수 있 고 원래 의 공장 방법 모델 에서 제품 내부 의 이미 지 는 제품 자체 에 의 해 결정 된다.건설 모델 에 서 는 건설 자가 책임 진다.이렇게 새로운 구체 적 인 건설 자 역할 을 정의 하면 제품 의 내부 이미 지 를 바 꿀 수 있다.
    건설 모델 은 복잡 한 내부 생 성 을 내부 에 밀봉 하고 외부 호출 자 에 게 는 건설 자 와 건설 도구 만 전달 해 야 하 며 내부 가 어떻게 실현 되 는 지 에 대해 서 는 관심 을 가 질 필요 가 없다.

    좋은 웹페이지 즐겨찾기