`

设计模式回顾之九:建造者模式(Builder)

 
阅读更多

设计模式回顾系列文章:主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。

------------------------------------------------

建造者模式(Builder)

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

 

适用于:

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,当构造过程必须允许被构造的对象有不同的表示时。

 

程序实现:

抽象类:

public abstract class AbstractBuilder {
	abstract public void buildPartA();
	abstract public void buildPartB();
	abstract public void buildPartC();
}

实现类:

public class ConcreteBuilder extends AbstractBuilder{
	@Override
	public void buildPartA() {
		System.out.println("buildPartA!");
	}
	@Override
	public void buildPartB() {
		System.out.println("buildPartB!");
	}
	@Override
	public void buildPartC() {
		System.out.println("buildPartC!");
	}
}

组装类:

public class Director {
	public void contruct(AbstractBuilder builder){
		builder.buildPartA();
		//一些内部逻辑决定构建那些部分
		if(true){
			builder.buildPartB();
		}
		if(0<1){
			builder.buildPartC();
		}
	}
}

客户端:

public class Client {
	public static void main(String[] args) {
		AbstractBuilder builder=new ConcreteBuilder();
		Director director=new Director();
		director.contruct(builder);
	}
}

举例:

其实日常工作中经常使用建造者模式,比如最简单的:StringBuffer和StringBuilder.

分享到:
评论

相关推荐

    《设计模式:可复用面向对象软件的基础》英文版

    包括抽象工厂模式(Abstract Factory)、建造者模式(Builder)、工厂方法模式(Factory Method)、原型模式(Prototype)和单例模式(Singleton)等。 - **结构型模式**:关注于类或对象的组合方式,使它们能形成更...

    李建忠 C#面向对象设计模式纵横谈(25):设计模式总结

    1. 创建型模式:这类模式关注对象的创建过程,包括单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)模式。例如,在C#中,可以利用静态类实现...

    C#设计模式.PDF

    在本章节中,作者可能会回顾面向对象编程的基本概念,如封装、继承、多态等,并为后面介绍的设计模式奠定理论基础。 ### 2. 设计模式举例 这部分内容将通过具体的例子来介绍设计模式的应用场景,帮助读者理解不同...

    侯捷2015设计模式课件-同济

    1. 创建型模式(Creational Patterns):涉及到对象的创建,包括但不限于单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)、原型(Prototype)。 2. 结构型模式...

    C#设计模式大全

    建造者模式是一个创建型设计模式,它允许你分步骤地构建一个复杂的对象。 - **结构**:包含产品接口、具体产品类、建造者接口以及具体建造者类。 - **程序举例**:例如,构建一个计算机对象。 - **活动序列**:按照...

    11-回顾和总结(1).html

    建造者模式( Builder ) 原型模式( Prototype ) 结构型模式包含了: 适配器模式( Adapter ) 装饰器模式( Decorator ) 代理模式( Proxy ) 外观模式( Facade ) 桥接模式( Bridge ) 组合模式( Composite...

    追MM与23种设计模式

    建造者模式是一种创建型设计模式,它允许逐步构建复杂对象。在“追MM”中,可以说每一次对话、每一个行为都是构建最终关系的一部分。通过使用建造者模式,可以根据不同的MM特点,定制不同的追求策略,最终形成一段...

    算法导论 DesignPatterns Gof

    - **创建型模式**:专注于对象的创建方式,常见的有抽象工厂(Abstract Factory)、建造者(Builder)、工厂方法(Factory Method)、原型(Prototype)和单例(Singleton)。 - **结构型模式**:关注类或对象的组合方式,包括...

    design-patterns-learn:设计模式学习

    创建型模式关注对象的创建过程,例如单例模式(Singleton)、工厂模式(Factory)和建造者模式(Builder)。结构型模式关注如何将类或对象组合成更大的结构,如适配器模式(Adapter)、装饰器模式(Decorator)和...

    以轻松的语言比喻了java的23种模式

    建造者模式是一种创建型设计模式,它允许你分步骤地构建一个复杂的对象。该模式使用一个建造者对象来管理复杂的构建过程,而不是直接使用构造函数。 **比喻理解:** 继续以MM为例,如果我们想要和MM聊天,那么需要...

    Applied Java Patterns (English)

    - **建造者(Builder)**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **工厂方法(Factory Method)**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 - **原型...

    designPattern

    1. **创建型模式**:这类模式主要关注对象的创建过程,包括单例模式(Singleton)、工厂模式(Factory)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。例如,单例模式确保一...

    vjezbaUzorciDizajna:Izrada kratkih programa sa jednim ilivišeuzoraka dizajna

    创建型模式如单例(Singleton)、工厂方法(Factory Method)和建造者(Builder)关注对象的创建;结构型模式如适配器(Adapter)、装饰器(Decorator)和代理(Proxy)关注类与对象的组合;而行为型模式如观察者...

Global site tag (gtag.js) - Google Analytics