client.java

来自「设计模式描述设计模式描述设计模式描述设计模式描述」· Java 代码 · 共 68 行

JAVA
68
字号
/*
 * Created on 2005-5-7
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.test.pattern.create.builder;

/**
 * @author Administrator
 * 
 * 意图 将一个复杂对象的构建与它的表示分离,
 * 使得同样的构建过程可以创建不同的表示。 
 * 适用性
 * 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 
 * 当构造过程必须允许被构造的对象有不同的表示时。
 *  
 */
class Director {
	public void build(AbstractBuilder abstractBuilder) {
		abstractBuilder.BuildPartA();
		abstractBuilder.BuildPartB();
		abstractBuilder.BuildPartC();
	}

}

abstract class AbstractBuilder {
	abstract public void BuildPartA();

	abstract public void BuildPartB();

	abstract public void BuildPartC();
}

// These two classes could be part of an application
// =================================================

class ConcreteBuilder extends AbstractBuilder {
	public void BuildPartA() {
		// Create some object here known to ConcreteBuilder
		System.out.println("ConcreteBuilder.BuildPartA called");
	}

	public void BuildPartB() {
		// Create some object here known to ConcreteBuilder
		System.out.println("ConcreteBuilder.BuildPartB called");
	}

	public void BuildPartC() {
		// Create some object here known to ConcreteBuilder
		System.out.println("ConcreteBuilder.BuildPartC called");
	}
}

/// <summary>
/// Summary description for Client.
/// </summary>

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?