Java Builder Pattern

1.概念
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]
与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。
建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心。
举个简单的例子,如汽车,有很多部件,车轮,方向盘,发动机还有各种小零件等等,部件很多,但远不止这些,如何将这些部件装配成一部汽车,这个装配过程也很复杂(需要很好的组装技术), builder模式就是为了将部件和组装分开。
2.UML图
3.代码
public interface Builder {
void buildPartA();
void buildPartB();
void buildPartC();
Product getResult();
}
//具体建造工具
public class ConcreteBuilder implements Builder {
Part partA, partB, partC;
public void buildPartA() {
//这里是具体如何构建partA的代码
};
public void buildPartB() {
//这里是具体如何构建partB的代码
};
public void buildPartC() {
//这里是具体如何构建partB的代码
};
public Product getResult() {
//返回最后组装成品结果
};
}
//建造者
public class Director {
private Builder builder;
public Director( Builder builder ) {
this.builder = builder;
}
public void construct() {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
}
public interface Product { }
public interface Part { }
下面是调用builder的方法:
ConcreteBuilder builder = new ConcreteBuilder(); Director director = new Director( builder ); director.construct(); Product product = builder.getResult();
4.应用场景
在Java的应用中JavaMail使用到了该模式。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# Builder
# Pattern建造者模式
# Pattern详解
# 建造者模式
# java设计模式--建造者模式详解
# java实现建造者模式(Builder Pattern)
# Java运用设计模式中的建造者模式构建项目的实例解析
# Java设计模式之建造者模式实例详解
# java开发建造者模式验证实例详解
# 的人
# 很好
# 有个
# 有很多
# 也很
# 希望能
# 只需要
# 谢谢大家
# 如何将
# 举个
# 在内部
# 远不止
# 调用者
# UML
相关文章:
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
全景视频制作网站有哪些,全景图怎么做成网页?
建站主机与虚拟主机有何区别?如何选择最优方案?
高端建站三要素:定制模板、企业官网与响应式设计优化
南宁网站建设制作定制,南宁网站建设可以定制吗?
常州自助建站费用包含哪些项目?
如何快速配置高效服务器建站软件?
制作网站公司那家好,网络公司是做什么的?
建站之星展会模版如何一键下载生成?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
,如何利用word制作宣传手册?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
建站上传速度慢?如何优化加速网站加载效率?
如何快速建站并高效导出源代码?
c++ stringstream用法详解_c++字符串与数字转换利器
股票网站制作软件,网上股票怎么开户?
如何选购建站域名与空间?自助平台全解析
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
建站10G流量真的够用吗?如何应对访问高峰?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何在香港免费服务器上快速搭建网站?
招商网站制作流程,网站招商广告语?
如何高效配置IIS服务器搭建网站?
设计网站制作公司有哪些,制作网页教程?
如何规划企业建站流程的关键步骤?
如何在自有机房高效搭建专业网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
创业网站制作流程,创业网站可靠吗?
建站之星Pro快速搭建教程:模板选择与功能配置指南
Python路径拼接规范_跨平台处理说明【指导】
如何用景安虚拟主机手机版绑定域名建站?
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何用美橙互联一键搭建多站合一网站?
模具网站制作流程,如何找模具客户?
如何零基础在云服务器搭建WordPress站点?
移民网站制作流程,怎么看加拿大移民官网?
广平建站公司哪家专业可靠?如何选择?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何在阿里云ECS服务器部署织梦CMS网站?
如何正确下载安装西数主机建站助手?
如何用低价快速搭建高质量网站?
微信小程序 input输入框控件详解及实例(多种示例)
婚礼视频制作网站,学习*后期制作的网站有哪些?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何在IIS中新建站点并解决端口绑定冲突?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
建站之星安装后如何配置SEO及设计样式?
已有域名能否直接搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。