在JAVA項(xiàng)目中實(shí)現(xiàn)建造者模式的原理是什么

本篇文章給大家分享的是有關(guān)在JAVA項(xiàng)目中實(shí)現(xiàn)建造者模式的原理是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

在萊西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站,成都外貿(mào)網(wǎng)站制作,萊西網(wǎng)站建設(shè)費(fèi)用合理。

建造者模式:將復(fù)雜對(duì)象的構(gòu)造與它的實(shí)現(xiàn)相分離,讓相同的構(gòu)建過(guò)程可以創(chuàng)建不同的對(duì)象。

適用場(chǎng)合:

復(fù)雜對(duì)象的算法應(yīng)該獨(dú)立于該對(duì)象的組成部分或當(dāng)構(gòu)造過(guò)程允許被構(gòu)造不同的對(duì)象時(shí)。

組成角色:

1 創(chuàng)建者(Builder)接口:為創(chuàng)建一個(gè)對(duì)象的對(duì)應(yīng)部件所指定抽象接口。
2 具體創(chuàng)建者(ConcreteBuilder):實(shí)現(xiàn)Builder的接口以構(gòu)造對(duì)象的各個(gè)部件。
3 具體創(chuàng)建者管理對(duì)象(Director):使用Builder接口的對(duì)象。
4 復(fù)雜產(chǎn)品對(duì)象(Product):被構(gòu)造的復(fù)雜對(duì)象。

/**
 * 生產(chǎn)汽車(chē):創(chuàng)建者Builder接口
 * @description:
 * @date 2016-1-21 下午1:15:39
 */
public interface CarBuilder {
  void carRoof();//生產(chǎn)車(chē)頂
  void carBottom();//生產(chǎn)車(chē)底盤(pán)
  void carWheel();//生產(chǎn)車(chē)輪
  Car buildCar();
}
/**
 * 具體創(chuàng)建對(duì)象ConcreteBuilder:白色汽車(chē)
 * @description:
 * @date 2016-1-21 下午1:16:22
 */
public class WhiteCar implements CarBuilder {
  Car car;
  public WhiteCar() {
    car = new Car();
  }
  @Override
  public void carRoof() {
    car.setRoof("制造白色汽車(chē)---車(chē)頂");
  }
  @Override
  public void carBottom() {
    car.setBottom("制造白色汽車(chē)---車(chē)底");
  }
  @Override
  public void carWheel() {
    car.setWheel("制造白色汽車(chē)---車(chē)輪");
  }
  @Override
  public Car buildCar() {
    // TODO Auto-generated method stub
    return car;
  }
}
/**
 * 具體創(chuàng)建者管理對(duì)象(Director),建造者
 * @description:
 * @author ldm
 * @date 2016-1-21 下午1:17:12
 */
public class CarDirector {
  public Car constructPerson(CarBuilder carBuilder) {
    carBuilder.carRoof();
    carBuilder.carBottom();
    carBuilder.carWheel();
    return carBuilder.buildCar();
  }
}
/**
 * 最終生產(chǎn)的'復(fù)雜產(chǎn)品'對(duì)象
 * @description:
 * @date 2016-1-21 下午1:22:28
 */
public class Car {
  private String roof;// 車(chē)頂
  private String bottom;// 車(chē)底
  private String wheel;// 車(chē)輪
  public String getRoof() {
    return roof;
  }
  public void setRoof(String roof) {
    this.roof = roof;
  }
  public String getBottom() {
    return bottom;
  }
  public void setBottom(String bottom) {
    this.bottom = bottom;
  }
  public String getWheel() {
    return wheel;
  }
  public void setWheel(String wheel) {
    this.wheel = wheel;
  }
}

測(cè)試代碼:

public class Test {
  public static void main(String[] args) {
    CarDirector carDirector = new CarDirector();
    Car car = carDirector.constructPerson(new WhiteCar());
    System.out.println(car.getRoof());
    System.out.println(car.getBottom());
    System.out.println(car.getWheel());
    System.out.println("----整個(gè)車(chē)子就完成了!--");
  }
}

打印結(jié)果:

制造白色汽車(chē)—車(chē)頂
制造白色汽車(chē)—車(chē)底
制造白色汽車(chē)—車(chē)輪
—-整個(gè)車(chē)子就完成了!–

以上就是在JAVA項(xiàng)目中實(shí)現(xiàn)建造者模式的原理是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標(biāo)題:在JAVA項(xiàng)目中實(shí)現(xiàn)建造者模式的原理是什么
標(biāo)題鏈接:http://muchs.cn/article20/gpphjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、定制網(wǎng)站電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司