当前位置:首页 > 设计模式 > 正文内容

建造者模式

canca19年前 (2007-03-26)设计模式486

//建造者模式
//CopyRight(C)CAnca Software Office.
//Created by CAnca.

import java.util.*;

public class BuilderMode{
 public static void main(String[] args){
  Director director = new Director();
  
  ConcreteBuilder1 builder1 = new ConcreteBuilder1();
  director.construct(builder1);
  Product product1 = builder1.getResult();
  product1.show();
  
  ConcreteBuilder2 builder2 = new ConcreteBuilder2();
  director.construct(builder2);
  Product product2 = builder2.getResult();
  product2.show();
 }
}

class Director{
 public void construct(Builder builder){
  builder.builderPart1();
  builder.builderPart2(); 
 }
}

abstract class Builder{
 abstract void builderPart1();
 abstract void builderPart2();
 abstract Product getResult();
}

class ConcreteBuilder1 extends Builder{
 private Product product = new Product();
 public void builderPart1(){
  product.add("鸡蛋");
 }
 public void builderPart2(){
  product.add("猪肉");
 }
 
 public Product getResult(){
  return product;
 }
}

class ConcreteBuilder2 extends Builder{
 private Product product = new Product();
 public void builderPart1(){
  product.add("牛奶");
 }
 public void builderPart2(){
  product.add("香蕉");
 }
 
 public Product getResult(){
  return product;
 }
}

class Product{
 private ArrayList array = null;
 public Product(){
  array = new ArrayList();
 }
 public void add(String value){
  array.add(value);
 }
 
 public void show(){
  for(int i = 0 ; i < array.size() ; i++){
   System.out.println("购买商品:" + (i+1) + "、" + array.get(i));
  }
 }
}

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/666.html

标签: 设计模式
分享给朋友:
返回列表

上一篇:工厂方法模式

下一篇:原型模式

“建造者模式” 的相关文章

抽象工厂模式

//抽象工厂模式//Copyright CAnca Software office//Created by CAnca.2006public class AbstractFactory{ public static void main(String[] args){  ...

单例模式

//CopyRight CAnca Software Office. 2006//Created by CAnca. import java.util.*; public class singletonMode{ public static void main(String[] args)...

工厂方法模式

//工厂方法模式:现实例子//CopyRight(C)CAnca Software Office. 2006//Created by CAnca. import java.util.*; public class Real_World_Example{ public static void...

原型模式

//原型模式//CopyRight(C) CAnca Software Office.2006//Created by CAnca. public class PrototypeMode{ public static void main(String[] args){  ...

代理模式

//代理模式--真实例子//CopyRight(C)CAnca Software Office.2006//Created by CAnca.   public class ProxyMode_RealWorld{     public static void...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。