Java设计模式 —— 建造模式 (Builder)

BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)

建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。

将一个对象的内部表象和建造过程分割, 一个建造过程可以造出不同表象的对象。可简化为模版方法模式.
package com.modes;

/*
 * 建造模式(Builder)
 */
public class TestBuilder {
	public static void main(String[] args) {
		Builder b = new BuilderIml1();
		Director d = new Director(b);
		Product p = d.createProduct();
	}
}

class BuilderIml1 implements Builder {

	@Override
	public void buildPart1() {
		// TODO Auto-generated method stub
		System.out.println("Create Part1");
	}

	@Override
	public void buildPart2() {
		// TODO Auto-generated method stub
		System.out.println("Create Part2");
	}

	@Override
	public void buildPart3() {
		// TODO Auto-generated method stub
		System.out.println("Create Part3");
	}

	@Override
	public Product getProduct() {
		// TODO Auto-generated method stub
		return new Product();
	}	
}

class Director {
	Builder b;
	
	public Director(Builder b) {
		this.b = b;
	}
	
	public Product createProduct() {
		b.buildPart1();
		b.buildPart2();
		b.buildPart3();
		
		return b.getProduct();
	}
}


interface Builder {
	void buildPart1();
	void buildPart2();
	void buildPart3();
	
	Product getProduct();
}

class Product {
	
}


猜你喜欢

转载自blog.csdn.net/WYYZ5/article/details/49074971