介绍
本篇文章给大家分享的是有关如何在Java中利用建造者模式实现办理手机套餐功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>一、模式定义强>
建造者简单理解就是造东西,只不过建造者模式建造的不是一个简单的东西,是一个比较复杂的东西。
<强>二、模式举例强>
<强> 1模式分析强>
我们借用顾客到手杌营业厅去办理手机套餐的例子说明这一模式
经过抽象分析后,我们得出下面信息
客户张三——终端需求
营业厅操作员——指导者(通知指导建造者生产什么样的手机套餐)
计算机——建造者(建造各种手机套餐)
手机套餐——产品
<强> 2建造者模式静态建模强>
<强> 3代码示例强>
3.1创建产品——手机套餐
package com.demo.buider.model; public class  MobilePackage {//才能,话费 private 才能;float 资金;//才能,短的信 private 才能;int  shortInfo;//才能,彩玲 private 才能;String 音乐; public 才能;float  getMoney () {才能 ,,,return 资金; ,,} public 才能;void  setMoney (float 金钱) {才能 ,,,this.money =,钱; ,,} public 才能;int  getShortInfo () {才能 ,,,return shortInfo; ,,} public 才能;void  setShortInfo (int shortInfo) {才能 ,,,this.shortInfo =, shortInfo; ,,} public 才能;String  getMusic () {才能 ,,,return 音乐; ,,} public 才能;void  setMusic (String 音乐) {才能 ,,,this.music =,音乐; ,,} }
3.2建造者接口
package com.demo.buider.itf; import com.demo.buider.model.MobilePackage;/* * ,*手机套餐建设者 ,* ,* @author ,* ,*/public interface  IMobileBuilder {//,才能建造手机套餐的话费 public 才能;void  buildMoney ();//,才能建造手机套餐的短的信 public 才能;void  buildShortInfo ();//,才能建造手机套餐的彩玲 public 才能;void  buildMusic ();//,才能返回建造的手机套餐对象 public 才能;MobilePackage  getMobilePackage (); }
3.3建立具体建造者
具体的建造者1
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 {//,才能建造手机套餐的话费 public 才能;void  buildMoney () {才能 ,,,this.mobilePackage.setMoney(20.0度); ,,}//,才能建造手机套餐的彩玲 public 才能;void  buildMusic () {才能 ,,,this.mobilePackage.setMusic(“天使“); ,,}//,才能建造手机套餐的短的信 public 才能;void  buildShortInfo () {才能 ,,,this.mobilePackage.setShortInfo (400); ,,}//,才能返回建造的手机套餐对象 public 才能;MobilePackage  getMobilePackage () {才能 ,,,return this.mobilePackage; ,,} }
具体的建造者2
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 {//,才能建造手机套餐的话费 public 才能;void  buildMoney () {才能 ,,,this.mobilePackage.setMoney(30.0度); ,,}//,才能建造手机套餐的彩玲 public 才能;void  buildMusic () {才能 ,,,this.mobilePackage.setMusic(“大海“); ,,}//,才能建造手机套餐的短的信 public 才能;void  buildShortInfo () {才能 ,,,this.mobilePackage.setShortInfo (600); ,,}//,才能返回建造的手机套餐对象 public 才能;MobilePackage  getMobilePackage () {才能 ,,,return this.mobilePackage; ,,} }如何在Java中利用建造者模式实现办理手机套餐功能