定义
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。
实用范围
1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
2 当构造过程必须允许被构造的对象有不同表示时。
角色
在这样的设计模式中,有以下几个角色:
1 builder:为创建一个产品对象的各个部件指定抽象接口。
2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口,把各个部件逐渐安装到产品上的过程
3 Director:构造一个使用Builder接口的对象。安装部件
4 Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口。
例子
1.要制造的复杂对象
package com.builderpatter;
public class Phone {
private String shoujike;
private String pingmu;
public String getShoujike() {
return shoujike;
}
public void setShoujike(String shoujike) {
this.shoujike = shoujike;
}
public String getPingmu() {
return pingmu;
}
public void setPingmu(String pingmu) {
this.pingmu = pingmu;
}
}
2.为创建一个产品对象的各个部件指定抽象接口
package com.builderpatter;
public interface PhoneBuilder {
void buildShoujike();
void buildPingmu();
public Phone buildPhone();
}
3.创建各个组件的过程
public class PhoneBuilderInstance implements PhoneBuilder {
private Phone phone;
public PhoneBuilderInstance() {
phone = new Phone();
}
public void buildPingmu() {
// TODO Auto-generated method stub
phone.setShoujike("安装上手机壳");
}
public void buildShoujike() {
// TODO Auto-generated method stub
phone.setPingmu("安装上屏幕");
}
public Phone buildPhone() {
// TODO Auto-generated method stub
return phone;
}
}
4.完成拼装
package com.builderpatter;
public class PhoneDirector {
Phone phoneConstructor(PhoneBuilder pb) {
pb.buildPingmu();
pb.buildShoujike();
return pb.buildPhone();
}
}
5测试
public class Test {
public static void main(String[] args) {
PhoneBuilder pb = new PhoneBuilderInstance();
PhoneDirector pd = new PhoneDirector();
Phone p =pd.phoneConstructor(pb);
System.out.println(p.getPingmu());
System.out.println(p.getShoujike());
}
}
6测试结果
安装上屏幕
安装上手机壳
分享到:
相关推荐
JAVA-设计模式-创建型模式-建造者模式
**建造者模式(Builder Pattern)**是软件设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露构建过程。在C++中,这种模式常用于将对象的创建过程与使用过程分离,使得对象的构建更加灵活,...
-java常用设计模式-建造者模式是java中的一种创建型设计模式,它允许开发者通过一步一步地构建复杂对象来创建不同类型的对象。 建造者模式的定义 建造者模式是一种创建型设计模式,它允许开发者通过一步一步地构建...
Java设计模式-建造者模式详解将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式(Builder)是使用多个“小型”工厂来最终创建出一个完整对象。当我们使用Builder的时候,...
建造者模式(Builder Pattern)是一种创建型设计模式,它提供了一种方法来分步骤构建复杂的对象,使得构建过程和表示分离,使得同样的构建过程可以创建不同的表示。这种模式经常在对象的构造过程中需要进行多种选择...
设计模式之---建造模式 1,建造模式属于对象的创建模式,是将一个产品的内部表象和产品的生产分割出来 2.使用原因:为了将构建复杂对象的过程和它的不见解耦; 3 使用情况:建造模式利用一个导演着对象和一个具体...
"设计模式-建造者模式" ...建造者模式是一种非常有用的设计模式,可以解决复杂对象的创建问题,提高软件的可维护性和可重用性。但是,需要根据实际情况选择使用该模式,并且需要遵循一定的设计原则。
建造者模式(Builder Pattern)是软件工程中一种用于创建对象的抽象工厂方法,它将复杂的对象构造过程分离开来,使得相同的构造过程可以创建不同的表示。这种模式在C#编程中广泛应用于创建对象的复杂性较高,或者...
建造者模式,是一种创建型设计模式,它提供了一种创建对象的最佳方式,特别是在对象的构建过程比较复杂,需要多个步骤时。在建造者模式中,我们创建一个指导对象(Director),该对象负责组织构建过程,而具体的构建...
建造者模式是一种结构型设计模式,它允许我们分步骤创建复杂对象,而无需暴露构建过程的内部细节。这种模式在Java编程中非常常见,尤其是在处理需要多种构建方式或需要隔离对象构造过程的场景。 建造者模式的核心...
建造者模式是一种结构型设计模式,它将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式在软件工程中被广泛应用,尤其是在需要构建对象的过程复杂且需要保持构建过程与对象表现分离的...
设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...
建造者模式是一种软件设计模式,属于创建型模式之一,主要用于解决创建复杂对象的问题。在实际应用中,当对象的构造过程过于复杂,涉及到多个属性或者子对象的组合时,直接通过构造函数创建可能会导致代码混乱、难以...
设计模式一般分为三大类:创建型模式、结构型模式和行为型模式。 3. 根据文件内容,诸葛亮给赵云的三个锦囊妙计可以用策略模式来实现。每个妙计对应一个实现了策略接口的具体策略类。例如,BackDoor类实现了...
建造者模式(Builder)是Java设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。在Android开发中,这种模式尤其有用,因为Android组件如Activity、Fragment等的初始化过程通常...
建造者模式,是Java设计模式中的重要组成部分,它在软件工程中扮演着构造复杂对象的角色。这个模式的主要目的是将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。通过使用建造者模式,我们可以...
设计模式05-建造者、原型模式 设计模式06-适配器、桥接、组合模式 设计模式07-组合模式、装饰模式 设计模式09-外观模式、享元模式 设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 ...
建造者模式(Builder Pattern)是一种创建型设计模式,它允许你分步骤地创建一个复杂对象。这个模式通过将构建过程和表示过程分离,使得同样的构建过程可以创建不同的表示。 压缩包文档是一个简单的Python示例,展示...
建造模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式常用于当构造过程需要步骤化,并且每个步骤可能有多种实现时,比如在软件工程...
在Java中,建造者模式(Builder Pattern)是一种创建型设计模式,它允许你分步骤地构建一个复杂对象。这个模式通过将构建过程和表示过程分离,使得同样的构建过程可以创建不同的表示。建造者模式特别适合用于创建...