国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能詳解

Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能詳解

2021-04-29 14:40chengqiuming Java教程

這篇文章主要介紹了Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能,較為詳細(xì)的描述了建造者模式的概念、原理并結(jié)合實例形式分析了Java使用建造者模式實現(xiàn)的辦理手機(jī)套餐功能具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下

本文實例講述了java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能。分享給大家供大家參考,具體如下:

一、模式定義

建造者簡單理解就是造東西,只不過建造者模式建造的不是一個簡單的東西,是一個比較復(fù)雜的東西。

二、模式舉例

1 模式分析

我們借用顧客到手杌營業(yè)廳去辦理手機(jī)套餐的例子說明這一模式
經(jīng)過抽象分析后,我們得出下面信息
客戶張三——終端需求
營業(yè)廳操作員——指導(dǎo)者(通知指導(dǎo)建造者生產(chǎn)什么樣的手機(jī)套餐)
計算機(jī)——建造者(建造各種手機(jī)套餐)
手機(jī)套餐——產(chǎn)品

Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能詳解

2 建造者模式靜態(tài)建模

Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能詳解

3 代碼示例

3.1 創(chuàng)建產(chǎn)品——手機(jī)套餐

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.demo.buider.model;
public class mobilepackage
{
  // 話費
  private float money;
  // 短信
  private int shortinfo;
  // 彩玲
  private string music;
  public float getmoney()
  {
    return money;
  }
  public void setmoney(float money)
  {
    this.money = money;
  }
  public int getshortinfo()
  {
    return shortinfo;
  }
  public void setshortinfo(int shortinfo)
  {
    this.shortinfo = shortinfo;
  }
  public string getmusic()
  {
    return music;
  }
  public void setmusic(string music)
  {
    this.music = music;
  }
}

3.2 建造者接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.demo.buider.itf;
import com.demo.buider.model.mobilepackage;
/**
 * 手機(jī)套餐builder
 *
 * @author
 *
 */
public interface imobilebuilder
{
  // 建造手機(jī)套餐的話費
  public void buildmoney();
  // 建造手機(jī)套餐的短信
  public void buildshortinfo();
  // 建造手機(jī)套餐的彩玲
  public void buildmusic();
  // 返回建造的手機(jī)套餐對象
  public mobilepackage getmobilepackage();
}

3.3 建立具體建造者

具體的建造者1

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.demo.buider.itf;
import com.demo.buider.base.abstractbasepackage;
import com.demo.buider.model.mobilepackage;
/**
 * 套餐1
 *
 * @author maofw
 *
 */
public class mobilebuilderimpl1 extends abstractbasepackage implements imobilebuilder
{
  // 建造手機(jī)套餐的話費
  public void buildmoney()
  {
    this.mobilepackage.setmoney(20.0f);
  }
  // 建造手機(jī)套餐的彩玲
  public void buildmusic()
  {
    this.mobilepackage.setmusic("天使");
  }
  // 建造手機(jī)套餐的短信
  public void buildshortinfo()
  {
    this.mobilepackage.setshortinfo(400);
  }
  // 返回建造的手機(jī)套餐對象
  public mobilepackage getmobilepackage()
  {
    return this.mobilepackage;
  }
}

具體的建造者2

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.demo.buider.itf;
import com.demo.buider.base.abstractbasepackage;
import com.demo.buider.model.mobilepackage;
/**
 * 套餐2
 *
 * @author maofw
 *
 */
public class mobilebuilderimpl2 extends abstractbasepackage implements imobilebuilder
{
  // 建造手機(jī)套餐的話費
  public void buildmoney()
  {
    this.mobilepackage.setmoney(30.0f);
  }
  // 建造手機(jī)套餐的彩玲
  public void buildmusic()
  {
    this.mobilepackage.setmusic("大海");
  }
  // 建造手機(jī)套餐的短信
  public void buildshortinfo()
  {
    this.mobilepackage.setshortinfo(600);
  }
  // 返回建造的手機(jī)套餐對象
  public mobilepackage getmobilepackage()
  {
    return this.mobilepackage;
  }
}

3.4 創(chuàng)建指導(dǎo)者

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.demo.buider.director;
import com.demo.buider.itf.imobilebuilder;
import com.demo.buider.model.mobilepackage;
/**
 * 手機(jī)套餐指導(dǎo)者
 *
 * @author maofw
 *
 */
public class mobiledirector
{
  public mobilepackage createmobilepackage(imobilebuilder mobilebuilder)
  {
    if (mobilebuilder != null)
    {
      // 構(gòu)建話費
      mobilebuilder.buildmoney();
      // 構(gòu)建短信
      mobilebuilder.buildshortinfo();
      // 構(gòu)建彩玲
      mobilebuilder.buildmusic();
      // 返回手機(jī)套餐
      return mobilebuilder.getmobilepackage();
    }
    return null;
  }
}

讓客戶訂購手機(jī)套餐

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.demo.buider;
import com.demo.buider.director.mobiledirector;
import com.demo.buider.itf.mobilebuilderimpl1;
import com.demo.buider.itf.mobilebuilderimpl2;
import com.demo.buider.model.mobilepackage;
public class mainapp
{
  /**
   * 主應(yīng)用程序
   *
   * @param args
   */
  public static void main(string[] args)
  {
    // 創(chuàng)建指導(dǎo)者
    mobiledirector mobiledirector = new mobiledirector();
    // 套餐1
    mobilebuilderimpl1 mobilebuilderimpl1 = new mobilebuilderimpl1();
    // 套餐2
    mobilebuilderimpl2 mobilebuilderimpl2 = new mobilebuilderimpl2();
    printmessage(mobiledirector.createmobilepackage(mobilebuilderimpl1));
    printmessage(mobiledirector.createmobilepackage(mobilebuilderimpl2));
  }
  /**
   * 打印輸出套餐信息
   */
  public static void printmessage(mobilepackage mobilepackage)
  {
    system.out.println("--話費:" + mobilepackage.getmoney() + "\t短信:" + mobilepackage.getshortinfo() + "條\t彩玲:" + mobilepackage.getmusic());
  }
}

運行結(jié)果

--話費:20.0短信:400條彩玲:天使
--話費:30.0短信:600條彩玲:大海

三、該模式設(shè)汁原則

1 分步驟創(chuàng)建復(fù)雜對象
2 構(gòu)造和表示分離
3 單一職責(zé)原則

四、使用場合

1 當(dāng)生成產(chǎn)品對象內(nèi)部具有復(fù)雜結(jié)構(gòu)時
2 當(dāng)復(fù)雜對象需要與表示分離,可能需要創(chuàng)建不同表示時
3 當(dāng)需要向客戶隱藏產(chǎn)品內(nèi)部結(jié)構(gòu)表現(xiàn)時

Java使用建造者模式實現(xiàn)辦理手機(jī)套餐功能詳解

希望本文所述對大家java程序設(shè)計有所幫助。

原文鏈接:https://blog.csdn.net/chengqiuming/article/details/70140546

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品视频一区二区三区 | 黄色av影院| 免费大片黄在线观看 | 国产在线专区 | 一区二区在线视频 | 国产三级网站 | 九九久久影视 | 香蕉成人啪国产精品视频综合网 | 亚洲精品日韩综合观看成人91 | 伊人中文字幕 | 亚洲毛片 | 久久久精品国产 | 一本大道久久a久久精品综合1 | 亚洲国产高清在线 | 国产免费av在线 | 一区二区三区四区在线视频 | 国产亚洲精品精品国产亚洲综合 | 台湾黄色网 | 日韩免费电影 | 人人射视频 | 国产精品久久久久久久 | 男人的天堂午夜 | 国产成人精品一区二区三区网站观看 | 亚洲欧美影院 | 日韩精品免费在线观看 | 免费一级毛片在线观看 | 欧美视频第一页 | 色狠狠一区二区三区香蕉 | 亚洲在线一区二区 | 亚洲一区二区三区免费视频 | 久久99精品国产麻豆婷婷洗澡 | 亚洲网站在线观看 | 国产精品欧美日韩 | 天天操天天插 | 亚洲精品久久久久久国产精华液 | 欧美三级视频 | 欧美伊人 | 亚洲精品久久久一区二区三区 | 日日麻批免费视频40分钟 | 久久久久久久久久久九 | 黄在线免费观看 |