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();
}
}
相關文章
springcloud-gateway整合jwt+jcasbin實現(xiàn)權限控制的詳細過程
這篇文章主要介紹了springcloud-gateway整合jwt+jcasbin實現(xiàn)權限控制,基于springboot+springcloud+nacos的簡單分布式項目,項目交互采用openFeign框架,單獨提取出來成為一個獨立的model,需要的朋友可以參考下2023-02-02
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ù)進行查詢操作的方法,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12

