适用场合:框架结构,好几个模块组合起来进行使用
假设一个复杂对象是由多个部件组成的,并且各个组件改变的机会比较大。
建造模式可以把复杂对象的创建分成两步来走:先创建各个部件,再把各个组件组装起来。
1.初步使用建造模式:
package
com.javaeye.kang.builder;
import
java.awt.Panel;
//
建造
类
Builder
负责
4
个小模
块
的生成
//
以后修改
时
只要修改相
应
的建造函数即可
class
Builder {
public
Panel getPanel1() {
Panel p1 =
null
;
//
建造
p1
return
p1;
}
public
Panel getPanel2() {
Panel p2 =
null
;
//
建造
p2
return
p2;
}
public
Panel getPanel3() {
Panel p3 =
null
;
//
建造
p3
return
p3;
}
public
Panel getPanel4() {
Panel p4 =
null
;
//
建造
p4
return
p4;
}
}
//
组
装
类
Director
负责
将各个小模
块组
装起来
class
Director
{
Builder
builder
=
new
Builder();
//
组
装方法
public
void
construct() {
Panel p1 =
builder
.getPanel1();
Panel p2 =
builder
.getPanel2();
Panel p3 =
builder
.getPanel3();
Panel p4 =
builder
.getPanel4();
//
将
这
4
个小模
块组
装起来
}
}
public
class
BuilderTest {
public
static
void
main(String[] args) {
Director
director =
new
Director
();
director.construct();
}
}
|
2.对上面的建造模式进行改进
package
com.javaeye.kang.builder;
import
java.awt.Panel;
//
建造
类
Builder
负责
4
个小模
块
的生成
//
以后修改
时
只要修改相
应
的建造函数即可
class
Builder
implements
IBuilder{
public
Panel getPanel1() {
Panel p1 =
null
;
//
建造
p1
return
p1;
}
public
Panel getPanel2() {
Panel p2 =
null
;
//
建造
p2
return
p2;
}
public
Panel getPanel3() {
Panel p3 =
null
;
//
建造
p3
return
p3;
}
public
Panel getPanel4() {
Panel p4 =
null
;
//
建造
p4
return
p4;
}
}
//
面向接口
编
程
interface
IBuilder {
public
abstract
Panel getPanel1();
public
abstract
Panel getPanel2();
public
abstract
Panel getPanel3();
public
abstract
Panel getPanel4();
}
//
组
装
类
Director
负责
将各个小模
块组
装起来
class
Director {
//
通
过
spring
讲
builder
对
象注入
进
来(不使用
new
,可以降低耦合度)
private
Builder
builder
;
public
Director(Builder builder) {
this
.
builder
= builder;
}
//
组
装方法
public
void
construct() {
Panel p1 =
builder
.getPanel1();
Panel p2 =
builder
.getPanel2();
Panel p3 =
builder
.getPanel3();
Panel p4 =
builder
.getPanel4();
//
将
这
4
个小模
块组
装起来
}
}
public
class
BuilderTest {
public
static
void
main(String[] args) {
}
}
|
- 描述: 建造模式
- 大小: 100.5 KB
- 描述: 建造模式要点
- 大小: 67.3 KB
- 描述: 建造模式小结
- 大小: 93.8 KB
分享到:
相关推荐
**建造者模式(Builder Pattern)**是软件设计模式中的一种,属于创建型模式。它将复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于那些需要大量构造参数的对象,通过...
Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的...
建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。这种模式的核心思想在于将对象的构建与表示分离,使得构建过程和不同表示可以独立变化,提高...
在深入探讨C#设计模式中的建造者(Builder)模式之前,我们先来理解一下什么是设计模式。设计模式是在软件工程中解决常见问题的一种通用可重用解决方案,它们提供了一种标准化的方法来解决软件开发中遇到的挑战。...
【创建型模式】设计模式之建造者模式(Builder Pattern) 建造者模式(Builder Pattern)是设计模式中的一个创建型模式,它提供了一种方法来分步骤构造复杂的对象,使得构造过程和表示分离,使得同样的构建过程可以...
Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,具有多种组成部件;Builder定义了构建产品的接口,而不涉及具体...
建造者模式(Builder Pattern)是软件工程中一种用于创建对象的抽象工厂方法,它将复杂的构建过程分解为一系列步骤,使得构建过程可以独立于其表示进行。这种模式允许客户端使用相同的构建过程创建不同表现形式的...
建造者模式(Builder)是设计模式中的一种结构型模式,它允许我们分步骤构建复杂的对象,而无需暴露构造过程。这种模式将构造过程与对象的表示分离,使得同样的构造过程可以创建不同的表示。在C++中,建造者模式通常...
Builder模式是一种设计模式,它属于创建型模式,主要用于构建复杂对象。这种模式提供了一种方法来分离开对象的构造过程和表示方式,使得构造过程可以按照步骤进行,并且允许用户只指定他们关心的部分,而忽略其他不...
3. 在产品创建过程中需要使用系统中的其他对象,且这些对象在创建过程中不易获取时,Builder模式可以封装这部分细节,使得创建过程更加清晰和可控。 #### 优点 - **内部表象独立变化**:Builder模式允许产品的内部...
在Java中,Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,Builder定义了产品的构造接口,ConcreteBuilder实现...
建造者模式是一种结构型设计模式,它允许我们分步骤创建复杂对象,而无需暴露构建过程的内部细节。这种模式在Java编程中非常常见,尤其是在处理需要多种构建方式或需要隔离对象构造过程的场景。 建造者模式的核心...
建造者模式(Builder Pattern)是一种创建型设计模式,允许使用多个简单的对象一步一步构建一个复杂的对象。它将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的组成 产品...
建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,通过将构造过程与对象本身分离,使得同样的构造过程可以创建不同的表示。这种模式常用于当创建对象的步骤复杂或者...
Builder模式是一种创建型设计模式,它提供了一种创建对象的灵活方式,将对象的构建过程与表示分离。这种模式在复杂对象的构造过程中特别有用,因为它允许我们通过不同的步骤来构造对象,而不会让客户端代码受到这些...
建造者模式(Builder Pattern)是Java设计模式中的一种,它属于创建型模式,主要用于构建复杂的对象。这种模式将对象的创建过程与表示分离,使得同样的创建过程可以创建不同的表示。在实际开发中,当我们需要创建的...
Builder设计模式是一种软件设计模式,它允许我们分步骤构建复杂对象,通过将构造过程与对象的表示分离,使得相同的构造过程可以创建不同的表示。在Java或者其他面向对象编程语言中,Builder模式经常被用来提高代码的...
建造者模式(Builder)是Java设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。在Android开发中,这种模式尤其有用,因为Android组件如Activity、Fragment等的初始化过程通常...
Builder设计模式是一种创建型设计模式,它提供了一种方法来分步骤构造复杂的对象,使得构建过程和表示分离,允许用户只关注对象的构建而无需关心具体实现细节。在Java或其他编程语言中,Builder模式通常用于创建那些...