프로젝트 집을 지을 필요
- 집을 지을 필요 :이 과정을 쌓고, 벽, 천장
- 집은 동일하지만,하지만 같은 요구 사항 등 일반 룸, 고층 건물, 빌라, 프로세스의 주택 여러 가지의 다양한 있습니다.
- 요구 사항을 완료하는 프로그램을 작성하시기 바랍니다.
분석의 전통적인 방법을 질문
-
장점은 상대적으로 이해하기 쉬운 작동하기 쉽습니다.
-
프로그램 구조도 단순한 디자인, 좋지 않은 캐싱 층 디자인 개체, 확장 및 유지 보수 프로그램이 디자인, 제품 (예 : 집). 그리고 제품을 만드는 과정 (예 : 집 프로세스를 구축하기 위해) 패키지화 커플 링이 향상된다.
-
해결 방법 : 제품과 제품 디커플링 => 빌더 모드를 구축 할 수 있습니다.
기본 소개 빌더 모드
기본 소개
- 발전기 모드라고 모델 빌더 (빌더 패턴), 객체를 구성하는 모드. 그것은이 추상 프로세스의 구현이 다른 경우 서로 다른 표현 (특성)의 객체를 구성 할 수 있도록하는 것이, 복잡한 제작 과정 추상화 된 객체 (추상 클래스)이 될 수 있습니다.
- 빌더 패턴이 사용자는 유형과 복합 객체의 내용을 지정하여이를 구축 할 수있는 복잡한 객체를 생성하는 단계에 의해 단계이며, 사용자는 건물의 내부의 특정 세부 사항을 알 필요가 없습니다.
네 역할 모델 빌더
-
제품 (제품의 역할) : 콘크리트 제품 객체.
-
빌더 (Builder를 추상적 인) : 인터페이스 / 추상 클래스를 지정된 대상 제품의 각 구성원을 만듭니다.
-
ConcreteBuilder (특히 빌더) : 인터페이스, 빌드를 구현하고 다양한 구성 요소를 조립한다.
-
이사 (이사) : 빌더 인터페이스를 사용하여 객체를 구축 할 수 있습니다. 그것은 주로 복잡한 객체를 생성하는 데 사용됩니다. 두 번째는, 분리 생산 공정 및 고객 개체 : 대상 제품의 생산 공정을 제어하는 책임은 두 가지 주요 기능을 가지고있다.
빌더 클래스 다이어그램에 대한 패턴
적용 사례를 해결하기 위해 집을 요구를 구축하는 모델 빌더
- 우리는 집을 지을 필요가 :이 프로세스는 벽, 천장, 말뚝 박기된다. 예 하오는 일반 주택인지, 이러한 과정을 통해 갈 빌라 가능성 여부의 완료에 빌더 패턴 (빌더 패턴)를 사용하자
- 생각의 분석 방식 (도 클래스)
노트 및 모델 빌더의 세부 사항
-
(프로그램 사용) 클라이언트는 동일한 생성 과정은 다른 제품의 개체를 만들 수 있습니다 그래서, 제품, 제품 자체 및 제품의 디커플링을 만드는 과정의 내부 구성의 세부 사항을 알 필요가 없습니다
-
쉽게 사용자가 다른 제품 타겟을 얻을 수있는 다른 특정 빌더를 사용하여 특정 빌더를 교체하거나 새로운 콘크리트 빌더를 추가 할 수 있도록 각각의 특정 빌더는 관계없이 다른 특정 빌더의 비교적 독립적
-
당신은 더 미세하게 제품을 만드는 과정을 제어 할 수 있습니다. 다른 방법으로 복잡한 분해 생성물을 생성하는 단계, 이렇게 명확하고 더 사용하기 쉬운 프로그램의 창조의 생성을 제어 할 수 있음
-
에 맞춰, 추상적 인 빌더 클래스 프로그래밍 시스템의 확장 클래스 사령관을 촉진하기 위해 원래의 클래스 라이브러리 코드를 수정하지 않고 새로운 콘크리트 빌더를 추가 "개폐의 원리."
-
그것의 사용은 특정 제한 사항이 적용됩니다 있도록 훌륭한 제품의 차이는, 빌더 패턴을 사용하는 것이 적합하지 않은 경우 빌더 패턴 생성 제품은 일반적으로 더 유사의 일부입니다 일반에 있습니다.
-
제품의 복잡성의 내부가 변경되면, 시스템 빌더 패턴을 선택할지 여부를 고려하는, 그래서이 경우에는 매우 큰되기 위해 원인이 변경을 구현하는 구체적인 빌더 클래스를 정의 할 필요가 많이 발생할 수 있습니다.
-
VS 모드 빌더 추상 팩토리 패턴
제품의 가족의 생성을 달성하기 위해 추상 팩토리 패턴은 제품의 제품군은 제품의 범위 : 포트폴리오 다른 분류 치수, 당신이 할 수있는 만 어떤 제품 공장에 대한 관심, 빌드 프로세스에 대해 우려 할 필요가 없습니다 추상 팩토리 패턴을 사용하여. 빌더 모드 건축 제품 설계도의 요구에 따라 지정되는, 그 주된 목적은 부품을 조합하여 새로운 상품을 생산하는 것