건설자 모델 - 통속해설
2067 단어 java 디자인 모드
알아볼까?정의를 쓰는 사람들이 왜 통속적으로 쓰지 않는지 모르겠다.통속적으로 말하면 복잡한 대상의 창설과 부품의 창설을 분리한다. 예를 들어 배를 만드는 것, 배를 구축하는 대상과 배를 구축하는 부품이 분리된 것이다. 아직 잘 모르니 들을 필요가 없다.예를 들어 고객으로서 배를 만들 때 모든 부품의 건조 과정은 고객으로서 볼 수 없다. 고객이 본 소개는 배는 선체, 갑판, 돛대(배는 아직 만들지 않았다)이다.그래서 고객이 볼 수 없는 것은 부품의 구축 과정이고 고객이 볼 수 있는 것은 대상의 구축 과정이다.
그게 무슨 소용이야?
아니면 위의 그 예에서 고객은 배의 구성을 생각했다. 그리고 배는 몇 가지를 만들 수 있다. 즉, 다른 표현이 있다. 어느 날 고객은 이 배가 마음에 들지 않는 것을 보고 내가 나무를 쓰고 싶다고 말했다. 너희들은 어떻게 철을 사용하느냐에 따라 사장은 설계 도면에 따라 다시 한 번 만들었다.이 과정의 가치가 바로 구현되었다.네, 더 이상 배를 설계할 필요가 없어요.
package designPatterns;
class Ship{
private String body;
private String board;
private String mast;
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getBoard() {
return board;
}
public void setBoard(String board) {
this.board = board;
}
public String getMast() {
return mast;
}
public void setMast(String mast) {
this.mast = mast;
}
}
interface ShipBuilder{//
public void buildBody();
public void buildBorad();
public void buildMast();
public Ship buildShip();
}
class IronShipBuilder implements ShipBuilder{
Ship ship=new Ship();
public void buildBody() {
// TODO Auto-generated method stub
ship.setBody(" ");
System.out.println(" !");
}
public void buildBorad() {
ship.setBoard(" ");
System.out.println(" ");
}
public void buildMast() {
// TODO Auto-generated method stub
ship.setMast(" ");
System.out.println(" ");
}
public Ship buildShip() {
// TODO Auto-generated method stub
System.out.println(" ");
return ship;// 。
}
}
class ShipDirector{//
public static Ship bulidShip(ShipBuilder sb){
sb.buildBody();
sb.buildBorad();
sb.buildMast();
return sb.buildShip();
}
}
public class MyBuilder {
public static void main(String[] args) {
// ,
//
Ship ship = ShipDirector.bulidShip(new IronShipBuilder());
// ,
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
어댑터(클래스 어댑터, 객체 어댑터 모드)1: 클래스 어댑터 모드 만일 우리가 Person류가 있다면, 이 Person류에는 불고 당기는 방법이 있다.시스템 개발의 절반에 이르러 우리는 이 종류에 두 가지 방법을 더 첨가하여 연주, 당기기, 연주, 노래의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.