自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java設(shè)計(jì)模式之:創(chuàng)建者模式

開發(fā) 后端
創(chuàng)建者模式和工廠模式有點(diǎn)類似,不過(guò)關(guān)注點(diǎn)不同。工廠模式往往只關(guān)心你要的是什么,二不關(guān)心這個(gè)東西的具體細(xì)節(jié)是什么。而創(chuàng)建模式則關(guān)心的是這個(gè)東西的具體細(xì)節(jié)的創(chuàng)建。

創(chuàng)建者模式和工廠模式有點(diǎn)類似,不過(guò)關(guān)注點(diǎn)不同。工廠模式往往只關(guān)心你要的是什么,二不關(guān)心這個(gè)東西的具體細(xì)節(jié)是什么。而創(chuàng)建模式則關(guān)心的是這個(gè)東西的具體細(xì)節(jié)的創(chuàng)建。拿創(chuàng)建人物來(lái)說(shuō),我們關(guān)心的不僅是創(chuàng)建一個(gè)人物,還要關(guān)心他的性別,膚色和名字,則可以使用創(chuàng)建者模式:

  1. package builder;  
  2.  
  3. /**  
  4.  *   
  5.  * DOC 種族角色  
  6.  *   
  7.  */ 
  8. public class Race {  
  9.  
  10.     private String name;// 名字  
  11.  
  12.     private String skinColor;// 膚色  
  13.  
  14.     private String sex;// 性別  
  15.  
  16.     public String getName() {  
  17.         return this.name;  
  18.     }  
  19.  
  20.     public void setName(String name) {  
  21.         this.name = name;  
  22.     }  
  23.  
  24.     public String getSkinColor() {  
  25.         return this.skinColor;  
  26.     }  
  27.  
  28.     public void setSkinColor(String skinColor) {  
  29.         this.skinColor = skinColor;  
  30.     }  
  31.  
  32.     public String getSex() {  
  33.         return this.sex;  
  34.     }  
  35.  
  36.     public void setSex(String sex) {  
  37.         this.sex = sex;  
  38.     }  
  39.  

 

  1. package builder;  
  2.  
  3. /**  
  4.  *   
  5.  * DOC 我們關(guān)心的不僅僅是創(chuàng)建一個(gè)人物,還要關(guān)心其特征的創(chuàng)建  
  6.  *   
  7.  */ 
  8. public class RaceBuilder {  
  9.  
  10.     private Race race;  
  11.  
  12.     /**  
  13.      * DOC 創(chuàng)建一個(gè)種族  
  14.      *   
  15.      * @return  
  16.      */ 
  17.     public RaceBuilder builder() {  
  18.         this.race = new Race();  
  19.         return this;  
  20.     }  
  21.  
  22.     /**  
  23.      * DOC 取名字  
  24.      *   
  25.      * @return  
  26.      */ 
  27.     public RaceBuilder setName(String name) {  
  28.         this.race.setName(name);  
  29.         return this;  
  30.     }  
  31.  
  32.     /**  
  33.      * DOC 選擇性別  
  34.      *   
  35.      * @return  
  36.      */ 
  37.     public RaceBuilder setSex(String sex) {  
  38.         this.race.setSex(sex);  
  39.         return this;  
  40.     }  
  41.  
  42.     /**  
  43.      * DOC 選擇膚色  
  44.      *   
  45.      * @return  
  46.      */ 
  47.     public RaceBuilder setSkinColor(String skinColor) {  
  48.         this.race.setSkinColor(skinColor);  
  49.         return this;  
  50.     }  
  51.  
  52.     /**  
  53.      *   
  54.      * DOC 返回這個(gè)創(chuàng)建好的種族  
  55.      *   
  56.      * @return  
  57.      */ 
  58.     public Race create() {  
  59.         return this.race;  
  60.     }  

測(cè)試類:

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

原文鏈接:http://blog.csdn.net/a107494639/article/details/7568047

【編輯推薦】

  1. Java數(shù)據(jù)結(jié)構(gòu):棧的實(shí)現(xiàn)
  2. Java protobuf框架使用向?qū)?/a>
  3. Java端通過(guò)CXF調(diào)用.NET端服務(wù)
  4. Java線程池的原理及幾類線程池的介紹
  5. Java中的異常對(duì)程序效率有無(wú)影響
責(zé)任編輯:林師授 來(lái)源: a107494639的博客
相關(guān)推薦

2020-12-01 07:16:05

重學(xué)設(shè)計(jì)模式

2021-01-21 05:34:14

設(shè)計(jì)模式建造者

2021-07-08 11:28:43

觀察者模式設(shè)計(jì)

2010-05-06 08:44:37

調(diào)解者模式

2020-10-20 13:33:00

建造者模式

2020-11-05 09:38:07

中介者模式

2021-10-26 00:21:19

設(shè)計(jì)模式建造者

2023-11-02 21:11:11

JavaScript設(shè)計(jì)模式

2020-08-21 07:23:50

工廠模式設(shè)計(jì)

2011-11-17 16:03:05

Java工廠模式Clojure

2012-05-16 17:22:11

Java設(shè)計(jì)模式

2020-10-26 08:45:39

觀察者模式

2015-09-08 13:39:10

JavaScript設(shè)計(jì)模式

2012-01-13 15:59:07

2021-12-24 07:50:45

責(zé)任鏈模式設(shè)計(jì)

2023-09-04 13:14:00

裝飾器設(shè)計(jì)模式

2021-06-16 08:56:06

模版方法模式設(shè)計(jì)模式行為型設(shè)計(jì)模式

2021-06-29 08:54:23

設(shè)計(jì)模式代理模式遠(yuǎn)程代理

2021-06-09 08:53:34

設(shè)計(jì)模式策略模式工廠模式

2012-02-29 09:41:14

JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)