빌더 모델은 복잡한 물체의 구성을 목표로합니다. 예를 들어, 제품은 여러 부품으로 구성되며 각 부품은 별도로 생산할 수 있습니다. 이때 빌더 모델은 빌더에 의해 제품의 각 부분을 구성하는 데 사용될 수 있으며, 감독은 최종 제품의 어셈블리를 완성합니다.
특징:
1. 노동 분업은 명확하고 조직과 구조가 분리되어 제품 생산을 더 잘 제어 할 수 있습니다.
2. 확장하기 쉬운. 새로운 요구가 있으면 건축업자 변명을 구현하십시오.
엔터프라이즈 수준 개발 및 일반적으로 사용되는 프레임 워크의 응용 프로그램 : Jmail
구성 : 제품 카테고리, 초록 빌더, 빌더, 감독.
제품 카테고리 :
공개 클래스 제품 {private String parta; // 제품의 일부는 실제 개발에서 클래스 비공개 문자열에 해당 할 수 있습니다. // 제품의 일부는 실제 개발에서 클래스 개인 문자열 Partc에 해당 할 수 있습니다. // 제품의 일부는 실제 개발에서 클래스 개인 문자열 Partc에 해당 할 수 있습니다.초록 빌더 :
// 추상 클래스 공개 인터페이스 빌더 일 수도 있습니다 {public void setParta (String Parta); public void setPartb (String partb); public void setpartc (String partc);}빌더 구현 클래스 :
공개 클래스 BuilderImpl은 Builder {Private Product Product; public builderimpl () {product = 신제품 (); } public void builderParta () {string parta = new String (); // 제품을 생산하기 위해 공장 메소드의 일부를 시뮬레이션합니다. } public void builderPartb () {String partb = new String (); // 팩토리 메소드의 일부를 시뮬레이션하여 Product.setPartb (partb); } public void setPartc () {String partc = new String (); // Factory Method.setPartc (partc)에서 제품 생산의 일부를 시뮬레이션합니다. } 공개 제품 getProduct () {return this.Product; }}감독 카테고리 :
공공 클래스 디렉터 {Private Builder B; 공무원 (Builder Newb) {this.b = newb; } public void CreateBuilder (Builder b) {this.b = b; } public product constructProduct () {b.builderParta (); B.BuilderPartB (); B.BuilderPartc (); }}테스트 클래스 :
공개 클래스 데모 {public static void main (String [] args) {builder b = new builderimpl (); Director D = 새로운 이사 (); D.CreateBuilder (b); 생성물 P = C.ConstructProduct (); }}위의 예에서, 우리가 Director 클래스를 구현하는 경우 Director 클래스가 제품의 어셈블리를 제어하기 때문에 다른 제품을 조립하는 것이 가능하다는 것을 찾기가 어렵지 않습니다. 마찬가지로, 우리가 추상적 인 건축 클래스를 재 구현하면 완전히 다른 제품도 나타날 수 있습니다. 따라서 빌더 모델이 더 추상적이고 프로세스 지향적이라는 것을 알 수 있습니다.
추상 공장 모델과 비교할 때, 두 사람이 놀랍게도 비슷하다는 것을 알기가 어렵지 않지만 왜 두 가지 다른 디자인 모델이 있습니까? 실제로, 제품의 복잡성과 추상화에 중점을 둡니다. 빌더 모델은 추상 공장 모델보다 더 추상적이고 복잡합니다. 즉, Builder 모델이 다루는 제품은 추상 공장에서 다루는 제품보다 더 복잡하며 동시에 제품 생산 공정은 더 길고 추상적입니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.