欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java設計模式之創(chuàng)建者模式簡介

 更新時間:2014年07月29日 15:27:09   投稿:shichen2014  
這篇文章主要介紹了Java設計模式之創(chuàng)建者模式,需要的朋友可以參考下

Java的創(chuàng)建者模式與工廠模式有點類似,不過關注點不同。工廠模式往往只關心你要的是什么,而不關心這個東西的具體細節(jié)是什么。相對而言創(chuàng)建模式則是關心這個東西的具體細節(jié)的創(chuàng)建。拿創(chuàng)建人物來說,我們關心的不僅是創(chuàng)建一個人物,還要關心他的性別,膚色和名字,則可以使用創(chuàng)建者模式。

程序實例如下所示:

package builder;
/**
 * 
 * DOC 種族角色
 * 
 */
public class Race {
  private String name;// 名字
  private String skinColor;// 膚色
  private String sex;// 性別
  public String getName() {
    return this.name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getSkinColor() {
    return this.skinColor;
  }
  public void setSkinColor(String skinColor) {
    this.skinColor = skinColor;
  }
  public String getSex() {
    return this.sex;
  }
  public void setSex(String sex) {
    this.sex = sex;
  }
}
package builder;
/**
 * 
 * DOC 我們關心的不僅僅是創(chuàng)建一個人物,還要關心其特征的創(chuàng)建
 * 
 */
public class RaceBuilder {
  private Race race;
  /**
   * DOC 創(chuàng)建一個種族
   * 
   * @return
   */
  public RaceBuilder builder() {
    this.race = new Race();
    return this;
  }
  /**
   * DOC 取名字
   * 
   * @return
   */
  public RaceBuilder setName(String name) {
    this.race.setName(name);
    return this;
  }
  /**
   * DOC 選擇性別
   * 
   * @return
   */
  public RaceBuilder setSex(String sex) {
    this.race.setSex(sex);
    return this;
  }
  /**
   * DOC 選擇膚色
   * 
   * @return
   */
  public RaceBuilder setSkinColor(String skinColor) {
    this.race.setSkinColor(skinColor);
    return this;
  }
  /**
   * 
   * DOC 返回這個創(chuàng)建好的種族
   * 
   * @return
   */
  public Race create() {
    return this.race;
  }
}

測試類如下:

package builder;
public class Main {
  public static void main(String[] args) {
    Race race = new RaceBuilder().builder().setName("張三").setSex("男").setSkinColor("白色").create();
  }
}

相關文章

  • Spring?Boot集成etcd的詳細過程

    Spring?Boot集成etcd的詳細過程

    etcd是一個分布式鍵值存儲數(shù)據(jù)庫,用于共享配置和服務發(fā)現(xiàn),etcd采用Go語言編寫,具有出色的跨平臺支持,很小的二進制文件和強大的社區(qū),這篇文章主要介紹了SpringBoot集成etcd,需要的朋友可以參考下
    2023-08-08
  • intellij idea 將模塊打jar包的步驟詳解

    intellij idea 將模塊打jar包的步驟詳解

    這篇文章主要介紹了intellij idea 將模塊打jar包的步驟,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Java責任鏈設計模式

    Java責任鏈設計模式

    這篇文章主要介紹了Java責任鏈設計模式的相關資料,需要的朋友可以參考下
    2016-03-03
  • springcloud-gateway整合jwt+jcasbin實現(xiàn)權限控制的詳細過程

    springcloud-gateway整合jwt+jcasbin實現(xiàn)權限控制的詳細過程

    這篇文章主要介紹了springcloud-gateway整合jwt+jcasbin實現(xiàn)權限控制,基于springboot+springcloud+nacos的簡單分布式項目,項目交互采用openFeign框架,單獨提取出來成為一個獨立的model,需要的朋友可以參考下
    2023-02-02
  • 教你怎么用Java回溯算法解數(shù)獨

    教你怎么用Java回溯算法解數(shù)獨

    一直不太會數(shù)獨問題,這次下決定搞明白,所以整理了本篇文章,文中有非常詳細的代碼示例,對不會算法的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • java鎖升級過程過程詳解

    java鎖升級過程過程詳解

    這篇文章主要介紹了Java鎖升級的實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • Java導出多個excel表打包到zip文件中供客戶端另存為窗口下載實現(xiàn)方法

    Java導出多個excel表打包到zip文件中供客戶端另存為窗口下載實現(xiàn)方法

    最近的項目有一個導出匯總數(shù)據(jù)的要求,考慮到用戶軟件的差異,所以要分別導出xls以及xlsx并且打包提供下載,下面這篇文章主要給大家介紹了關于Java導出多個excel表打包到zip文件中供客戶端另存為窗口下載的實現(xiàn)方法,需要的朋友可以參考下
    2023-12-12
  • 在Java的Hibernate框架中對數(shù)據(jù)庫數(shù)據(jù)進行查詢操作

    在Java的Hibernate框架中對數(shù)據(jù)庫數(shù)據(jù)進行查詢操作

    這篇文章主要介紹了Java的Hibernate框架中對數(shù)據(jù)庫數(shù)據(jù)進行查詢操作的方法,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • 一篇文章帶你入門java注解

    一篇文章帶你入門java注解

    這篇文章主要介紹了Java注解詳細介紹,本文講解了Java注解是什么、Java注解基礎知識、Java注解類型、定義Java注解類型的注意事項等內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • IDEA打開項目所有東西都在報紅報錯的解決方案

    IDEA打開項目所有東西都在報紅報錯的解決方案

    這篇文章主要給大家介紹了關于IDEA打開項目所有東西都在報紅報錯的三個解決方案,文中通過圖文介紹的非常詳細,對大家學習或者使用idea具有一定的參考學習價值,需要的朋友可以參考下
    2023-06-06

最新評論