이 기사에서는 휴대 전화 패키지 신청 기능을 구현하기 위해 빌더 모드를 사용하는 것에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
1. 패턴 정의
건축업자는 단순히 물건을 만들기 위해 그것을 이해하지만 건축업자 모델은 단순한 것이 아니라 비교적 복잡한 것입니다.
2. 모델의 예
1 패턴 분석
우리는 초록 분석 후이 모델을 설명하기 위해 휴대 전화 패키지를 신청하기 위해 휴대 전화 패키지를 신청하는 고객의 예를 빌려줍니다. 고객 Zhang San (터미널 요구 비즈니스 홀 운영자 - 강사) (제작할 휴대 전화 패키지에 대한 알림)에 대한 다음 정보를 얻습니다.
컴퓨터 - 빌더 (다양한 휴대폰 패키지 구축)
휴대 전화 패키지 - 제품
2 빌더 모드 정적 모델링
3 코드 예제
3.1 제품 생성 - 휴대폰 패키지
package com.demo.buider.model; public class mobilepackage {// phone bill private float money; // SMS Private int ShortInfo; // 개인용 문자열 음악을 조용히합니다. public float getmoney () {return money; } public void setmoney (float money) {this.money = money; } public int getshortinfo () {return shortinfo; } public void setshortinfo (int shortinfo) {this.shortinfo = shortinfo; } public String getMusic () {리턴 음악; } public void setMusic (String Music) {this.music = music; }}3.2 빌더 인터페이스
package com.demo.buider.itf; import com.demo.buider.model.mobilepackage;/** * 모바일 패키지 빌더 * * @author */public interface imobilebuilder {// void buildmoney (); // 모바일 패키지 구축을위한 SMS public void buildshortinfo (); // cailing public void buildMusic (); // 빌드 모바일 패키지 객체로 돌아 가기 공개 mobilepackage getMobilePackage ();}3.3 특정 빌더를 설정하십시오
특정 빌더 1
package com.demo.buider.itf; import com.demo.buider.base.base.abtractbasepackage; import com.demo.buider.model.mobilepackage;/** * 패키지 1 * * @author maofw * */public classe holity offormage inmobilebuilbuilder {// ruilding public {// buildmoney () {this.mobilepackage.setmoney (20.0f); } // cailing public void buildMusic () {this.mobilepackage.setmusic ( "angel"); } // 모바일 패키지 구축용 SMS 공개 void buildShortInfo () {this.mobilepackage.setshortinfo (400); } // 빌드 모바일 패키지로 돌아가는 모바일 패키지 개체 공개 mobilepackage getMobilepackage () {return this.mobilepackage; }}특정 빌더 2
package com.demo.buider.itf; import com.demo.buider.base.base.base.abtractbasepackage; import com.demo.buider.MobilePackage;/** * 패키지 2 * * @Author Maofw * */public classe vore vore vore {// ruilding public {// buildmoney () {this.mobilepackage.setmoney (30.0f); } // cailing public void buildMusic () {this.mobilepackage.setmusic ( "sea"); } // 모바일 패키지 구축을위한 SMS 공개 void buildShortInfo () {this.mobilepackage.setshortinfo (600); } // 빌드 모바일 패키지로 돌아가는 모바일 패키지 개체 공개 mobilepackage getMobilepackage () {return this.mobilepackage; }}3.4 멘토 생성
package com.demo.buider.director; import com.demo.buider.itf.imobilebuilder; import com.demo.buider.mobilepackage;/** * 모바일 패키지 강사 * * @aofw * */public class mobiledibual vuilepackage revilepackage vuilepackage vuilepackage in auther moofw * */public class mobilepackage incremolepackage if (mobileBuilder! = null) {// 전화 청구서 빌드 Bill MobileBuilder.BuildMoney (); // 문자 메시지 빌드 mobileBuilder.BuildShortInfo (); // Cailing MobileBuilder.BuildMusic () 빌드; // 모바일 패키지로 돌아 가기 MobileBuilder.getMobilePackage (); } return null; }}고객이 휴대폰 패키지를 주문하도록하십시오
package com.demo.buider; import com.demo.buider.director.mobiledirector; import com.demo.buider.itf.mobilebuilderimpl1; import com.demo.buider.itf.mobilebuilderimpl2; import com.demo.buider.model.mobilepacackage; * @param args */ public static void main (string [] args) {// 멘토 Mobiledirector MobileDirector = New MobileDirector (); // 계획 1 MobileBuilderImpl1 MobileBuilderImpl1 = 새로운 MobileBuilderImpl1 (); // 계획 2 MobileBuilderImpl2 MobileBuilderImpl2 = 새로운 MobileBuilderImpl2 (); printmessage (mobiledirector.createmobilepackage (mobilebuilderimpl1)); printmessage (mobiledirector.createmobilepackage (mobilebuilderimpl2)); }/*** 인쇄 패키지 정보*/public static void printmessage (mobilepackage mobilepackage) {system.out.println ( "-Telcoding :" + mobilepackage.getmoney () + "/t sms :" + mobilepackage.getshortinfo () + "twitter/t cailing :"); }}실행 결과
-텔 : 20.0 SMS : 400 캐리 링 : 엔젤
-텔 : 30.0 SMS : 600 CAILING : DAHAI
3. 모델 설정의 원리
1 단계 복잡한 개체를 만들기위한 단계
2. 분리를 구성하고 나타냅니다
3 단일 책임 원칙
4. 행사를 사용하십시오
1 제품 객체에 복잡한 구조가있는 경우
2 복잡한 객체를 표현에서 분리 해야하는 경우 다른 표현을 만들어야 할 수도 있습니다.
3 고객으로부터 제품 구조 성능을 숨겨야 할 때
Java 알고리즘에 대한 자세한 내용은이 사이트에 관심이있는 독자들이 주제를 볼 수 있습니다. "Java 데이터 구조 및 알고리즘 자습서", "Java Operation Dom Node Tips 요약", "Java 파일 및 디렉토리 작동 팁 요약"및 "Java Cache Operation Tips의 요약"을 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.