编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
设计模式----builder, 构建模式的定义:将一个复杂的对象构建与它的表示分离开来,使用样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它充许用户通过指定复杂对象类型和内容就可以构建它们。用户不需知道其内部细节。Builder非常类似操象工厂模式,只有在使用中才能区别开来。一个使用例子:packagecom.pdw.pattern;?/*?*小对象的,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> JAVA 专区 >> Java设计模式 >> 文章正文
【字体:
设计模式----builder   进入问吧

本站地址:http://www.bajiao123.com

作者:佚名    文章来源:不详    点击数:    更新时间:2007-3-23    

设计模式----builder

构建模式的定义:
将一个复杂的对象构建与它的表示分离开来,使用样的构建过程可以创建不同的表示。
Builder 模式是一步一步创建一个复杂的对象,它充许用户通过指定复杂对象类型和内容就可以构建它们。用户不需知道其内部细节。Builder非常类似操象工厂模式,只有在使用中才能区别开来。一个使用例子:
package com.pdw.pattern;
?
/*
?* 小对象的创建接口
?*/
interface PartA{
?public void builderA();
?public void outPartAInfo();
}
interface PartB{
?public void builderB();
}
/*
?* 大对象创建接口
?*/
interface Builder{
?void buildPartA();
?void buildPartB();
?Produce getResult();
}

/*
?* 产品接口
?*/
interface Produce{
?public void OutProduceInfo();
}

/*
?* 构建部件
?*/
class Director{
?private Builder builder;
?
?public Director(Builder vbuilder){
??this.builder=vbuilder;
?}
?
?public void construct(){
??builder.buildPartA();
??builder.buildPartB();
?}
?
}
/*
?* 部件实现类
?*/
class PartAImpl implements PartA{

?public void builderA() {
??// TODO Auto-generated method stub
??System.out.print("PartA组装完成...");
?}

?public void outPartAInfo() {
??// TODO Auto-generated method stub
??System.out.println("PartA 信息。。。 ");
?}
?
}
class PartBImpl implements PartB{

?public void builderB() {
??// TODO Auto-generated method stub
??System.out.println("构造部件B完成....");
?}
?
}
class ProduceImpl implements Produce{

?private PartA pa;
?private PartB pb;
?private ProduceImpl(){}

?public? ProduceImpl(PartA pa,PartB pb){
??this.pa=pa;
??this.pb=pb;
?}
?public void OutProduceInfo() {
??// TODO Auto-generated method stub
??pa.builderA();
??pb.builderB();
??pa.outPartAInfo();
??System.out.println("这里输入了产品信息,当然产品还有很多功能方法没写呵");
?}
?
}
class Cbuilder implements Builder{
?PartA pa;
?PartB pb;
?public void buildPartA() {
??pa=new PartAImpl(); //具体子部件实现代码
??
?}

?public void buildPartB() {
??
??pb=new PartBImpl();
?}

?public Produce getResult() {
??ProduceImpl pi=new ProduceImpl(pa,pb);
??return pi;
?}
?
}

?


public class BuilderImpl {

?
?
?/**
? * @param args
? */
?public static void main(String[] args) {
??// TODO Auto-generated method stub
??Cbuilder builder=new Cbuilder();
??Director d=new Director(builder);
??d.construct();
??Produce p=builder.getResult();
??p.OutProduceInfo();
?}

}



有猫相伴的日子 2006-06-29 22:52 发表评论

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 高级搜索
    编程资料集中营