当前位置: 首页 > news >正文

常用网站架构/廊坊网站建设公司

常用网站架构,廊坊网站建设公司,杭州网站外包,网站建设有什么专业术语建造者模式是创建性模式的一种,主要使用场景是创建一些相似且复杂的对象。比如各种型号的手机,都是由cpu,内存,屏幕,主板等部分构成的,各个组成部分相似,但每个部分又是比较复杂的。 为了组装一…

建造者模式是创建性模式的一种,主要使用场景是创建一些相似且复杂的对象。比如各种型号的手机,都是由cpu,内存,屏幕,主板等部分构成的,各个组成部分相似,但每个部分又是比较复杂的。

为了组装一台任意型号的手机,采用建造者模式是不错的,用户无需关注你是怎么构建手机的,只要拓展一个该型号手机的建造器,并由手机组装的统一指挥员指挥即可。看一下类图:

由类图可以看出,Builder接口定义了需要构造哪些东西,产品生产是靠具体的构造器(ConcreteBuilder)的,指挥类(Director)可以对多个builder进行指挥。当需要新增一种产品的时候,只要新增一个具体的构造器(ConcreteBuilder)就可以了。

手机组装的代码实例:

定义手机类:

//定义一个手机类,假设手机由cpu和memory组成
public class Phone {private String cpu;private String memory;//getter & setter & toString
}

定义构造器接口,每个实例构造器都要实现该类

public interface PhoneBuilder {/*** 建造者模式适用于复杂对象的创建和使用,且差异性较小,或很多参数有默认值,这样也可以用抽象类代替接口*/void buildCpu();void buildMemory();Phone getPhone();
}

定义一个指挥类,对上面的PhoneBuilder接口中的方法进行指挥

public class PhoneDirector {//这里比较简单,指挥类还可以同时指挥其他builderprivate PhoneBuilder phoneBuilder;public PhoneDirector() {}public PhoneDirector(PhoneBuilder phoneBuilder) {this.phoneBuilder = phoneBuilder;}//同样的构建过程public void construct() {phoneBuilder.buildCpu();phoneBuilder.buildMemory();}public void showPhone() {System.out.println(phoneBuilder.getPhone());}
}

最后就是对接口中的建造细节进行实现了,定义了华为和小米手机:

public class HuaWeiBuilder implements PhoneBuilder {private Phone phone = new Phone();@Overridepublic void buildCpu() {//封装复杂的构建过程phone.setCpu("HuaWeiCpu");}@Overridepublic void buildMemory() {//封装复杂的构建过程phone.setMemory("HuaWeiMemory");}public Phone getPhone() {return phone;}
}
public class XiaoMiBuilder implements PhoneBuilder {private Phone phone  = new Phone();@Overridepublic void buildCpu() {phone.setCpu("XiaoMiCpu");}@Overridepublic void buildMemory() {phone.setMemory("XiaomiMemory");}public Phone getPhone() {return phone;}
}

使用的时候只要将具体的构造器交给指挥员指挥就行了

public class Main {public static void main(String[] args) {//将具体的建造器交给指挥员指挥PhoneDirector huaWeiPhoneDirector = new PhoneDirector(new HuaWeiBuilder());huaWeiPhoneDirector.construct();huaWeiPhoneDirector.showPhone();PhoneDirector XiaoMiPhoneDirector = new PhoneDirector(new XiaoMiBuilder());XiaoMiPhoneDirector.construct();XiaoMiPhoneDirector.showPhone();}
}

好,新鲜的华为和小米出炉了!

http://www.jmfq.cn/news/4884787.html

相关文章:

  • wordpress文章缩略图插件/济南网络优化哪家专业
  • 社区网站如何做/网络营销方案设计
  • ppt做书模板下载网站/广告联盟平台排名
  • 音乐网站怎么做外链/外贸网站推广方式
  • 个人网站备案建设方案书/电脑培训班一般需要多少钱
  • 网站策划资料方案/5月疫情最新消息
  • 营销型网站建设公司哪家好/网站到首页排名
  • 辽宁省工程造价信息/seo修改器
  • 做风筝网站/国外免费建站网站搭建
  • 建筑工程网站模板/站长工具seo综合查询下载
  • 网站建设的总体设计/外贸网站平台哪个好
  • 做intor的网站/宁波靠谱营销型网站建设
  • 网站备案目的/网站改进建议有哪些
  • 网站建设 唐山/网络整合营销公司
  • 重庆网站供奉战犯/seo手机优化软件哪个好用
  • 网站建设微信软文/怎么开网店
  • 如何用ps做网站平面图/论坛推广平台有哪些
  • 动态网站特点/成人电脑基础培训班
  • 营销网站的设计思路/贵州seo学校
  • 向客户介绍网站建设的话术/网络营销推广方法
  • asp 网站源码 下载/站长工具域名
  • 买了域名怎么做自己的网站/室内设计培训哪个机构比较好
  • 网站开发团队职能/灰色产业推广引流渠道
  • 申请做网站要什么局/在线网站分析工具
  • 动态网站开发知识/搜索引擎大全网址
  • 医院网站前置审批文件/百度怎么提交收录
  • wordpress服装主题/百度搜索引擎优化详解
  • 装饰公司管理系统/如何做seo整站优化
  • 柳南区新闻/郑州百度关键词seo
  • 公司网站建设实施方案/新闻发稿平台