java建造者模式,java 构造者模式
建造者模式
模式的定义与特点
构建器模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。
该模式的主要优点如下:
具体的构建者相互独立,有利于系统的扩展。客户不必知道产品内部构成的细节,很容易控制细节风险。
其缺点如下:
产品的成分必须相同,这就限制了它的使用范围。如果产品内部变化复杂,这个模型会增加很多构建者。
构建器模式和工厂模式的侧重点不同:构建器模式关注零件的装配过程,工厂方法模式更关注零件的创建过程,但两者可以结合使用。
(推荐视频:java视频教程)
模式的结构与实现
建造者模式由四个要素组成:产品、抽象建造者、具体建造者和指挥者。现在我们来分析一下它的基本结构和实现方法。
1. 模式的结构
构建器模型的主要作用如下。
产品:它是一个包含多个组件的复杂对象,其组件由特定的构建者创建。抽象构建器(Abstract Builder):它是一个接口,包含创建产品的各种子组件的抽象方法,通常还包含一个返回复杂产品的方法getResult()。具体构建器:实现构建器界面,完成复杂产品组件的具体创建方法。Director:调用builder对象中的组件构造和组装方法来完成复杂对象的创建,不涉及director中具体产品的信息。
其结构图如下:
如何解决写爬虫IP受阻的问题?立即使用。
2. 模式的实现
(1)产品角色:具有多个组件的复杂对象。
公共类产品{
私弦partA
私有字符串partB
私有字符串partC
public void set partA(String partA){
this.partA=partA
}
public void set partB(String partB){
this.partB=partB
}
public void setPartC(String partC){
this.partC=partC
}
公共void show() {
//展示产品的特点
}
}(2)抽象构建器:包含用于创建产品的各种子组件的抽象方法。
公共抽象类生成器{
//创建产品对象
受保护产品product=新产品();
公共抽象void build parta();
公共抽象void build partb();
公共抽象void build partc();
//返回产品对象
公共产品getResult() {
退回产品;
}
}(3)具体构建器:实现抽象构建器接口。
公共类ConcreteBuilder扩展生成器{
public void buildPartA() {
product . set PartA( build PartA );
}
public void buildPartB() {
product . set parta( build PartB );
}
public void buildPartC() {
Product.setPartA (build PartC )。
}
}(4) Commander:调用构建器中的方法,完成复杂对象的创建。
公共类主管{
私人建筑商;
公共董事(建筑商)
this.builder=builder
}
//产品构造和装配方法
公共产品构造(){
builder . build parta();
builder . build partb();
builder . build partc();
返回builder . get result();
}
}(5)客户
公共类客户端{
公共静态void main(String[] args) {
builder builder=new concrete builder();
导演导演=新导演(施工员);
product product=director . construct();
product.show()。
}
}模式的应用场景
构建器模型创建复杂的对象,其产品的各个部分经常面临剧烈的变化,但组合它们的算法相对稳定,因此通常用于以下情况。
创建的对象很复杂,由几个组件组成。每个组件都面临着复杂的变化,但组件之间的构建顺序是稳定的。创建复杂对象的算法独立于对象的组件及其装配方法,即产品构造的过程和最终的表示是独立的。
本文来自我们,java教程专栏,欢迎学习!这就是java builder模式的特点及其应用场景的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。