안드로이드 디자인 모델의 건설자 모델, 당신은 정말 이해합니까?
건설자 모델은 주로 몇 가지 역할 제품 클래스가 있다. 이것은 창설하고자 하는 복잡한 대상을 나타낸다. 이것은 구체적인 클래스builder 추상적인 건설자이다. 제품의 추상적인 인터페이스를 창설하고 일반적으로 적어도 하나의 제품을 창설하는 추상적인 방법과 제품으로 돌아가는 추상적인 방법인 ConcrateBuilder 실제 건설자:builder류를 실현하고 추상적인 모든 방법을 실현하며 구체적인 건설 세부 사항을 실현한다.DIrector 지휘자: 서로 다른 건설자를 분배하여 제품을 만들고 조립 절차를 통일시킨다.실현 1. 먼저 구체적인 제품 클래스 컴퓨터 만들기
public class Computer {
private String cpu;//cpu
private String disk;//
private String board;//
public String getCpu() {
return cpu;
}
public void setCpu(String cpu) {
this.cpu = cpu;
}
public String getDisk() {
return disk;
}
public void setDisk(String disk) {
this.disk = disk;
}
public String getBoard() {
return board;
}
public void setBoard(String board) {
this.board = board;
}
}
2. 추상적인 건설자가 조립하는 모든 과정을 정의한다.
public abstract class Builder {
public abstract void buildCPU(String cpu);// CPu
public abstract void buildDisk(String disk);//
public abstract void buildBoard(String board);//
public abstract Computer create();//
}
3. 실제 건설자를 만들고 구체적인 조립 과정을 실현한다.
public class ConcreateBuilder extends Builder {
Computer computer = new Computer();//
@Override
public void buildCPU(String cpu) {
computer.setCpu(cpu);
}
@Override
public void buildDisk(String disk) {
computer.setDisk(disk);
}
@Override
public void buildBoard(String board) {
computer.setBoard(board);
}
@Override
public Computer create() {
return computer;
}
}
4. 지휘자 클래스 정의
public class Director {
private ConcreateBuilder mBuilder = null;
public Director(ConcreateBuilder builder){
this.mBuilder = builder;
}
public Computer build(String cpu,String disk,String board){
if(mBuilder!=null){
mBuilder.buildBoard(board);
mBuilder.buildCPU(cpu);
mBuilder.buildDisk(disk);
mBuilder.create();
}
return null;
}
}
5 테스트 방법, 실현 결과 보기
@Test
public void testBuilder(){
ConcreateBuilder builder = new ConcreateBuilder();
Director director = new Director(builder);
Computer computer = director.build("Intel"," "," ");
System.out.println(computer);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.