收 藏
投 稿
繁 体
RSS
首 页
运 营
学 院
建 站
论 坛
Web
master8.net
网站运营
欢迎在本站发布信息,在线投递稿件
请点这里
。编辑QQ:4908220,欢迎联系交流。
业界动态
创业故事
推广研究
策划盈利
电子商务
企业平台
站长工具
SEO查询
Whois查询
Pr查询
域名查询
IP查询
网页编辑器
技术学院
投递稿件请点这里:)
网页设计
HTML
XHTML
CSS
Javascript
Frontpage
Dreamweaver
图形图像
PhotoShop
FireWorks
Flash
Coreldraw
程序开发
PHP
ASP
.NET
JSP
CGI
XML
数据库
MySQL
Oracle
MSSQL
Access
综合应用
设计理论
建站系统
服务器管理
常用下载
办公应用
建站服务
如有建站意向,请尽快联系我们,以便安排时间...
QQ:4908220
作品展示
服务范围
服务流程
服务报价
联系方式
付款方式
站长论坛
注册
/
登陆
/
忘密?
交流区
站长酒吧
SEO&推广
网赚交流
建站系统
服务&信息
招聘求职
项目外包
广告发布
网络资源
技术区
网页设计师
界面设计师
WEB程序员
计算机应用
文章正文
» 您的当前位置:
首页
>>
学院
>>
程序开发
>>
JSP
Builder(建造)模式
来源:
互联网
| 时间:2005-10-04 | 浏览:
相关评论
|
报告错误
|
发布文章
【字号:
大
|
中
|
小
】 【背景色
】
目的:把一个复杂对象的构造过程和它的创建过程分离
描述:就是把一个复杂对象的过程和部件分开,比如说创建一个汽车
的过程,一个类Builder描述了创建各种部件的过程,另外一个类Concrete描述了组装各种部件的过程
那么我们先生成Builder对象,我们或者在创建过程中创建各种部件,或者在Concrete的组装部件的之
前创建各种部件,然后组装。在Concrete中有个concrete方法,它描述组装或者创建并组装的过程,
我们甚至根据参数的不同动态的构造部件。
/*******************************************************/
package builder;
public interface BuilderInterface {
 public void buildPartA();
 public void buildPartB();
 public void buildPartC();
 public Product getResult();
}
/******************************************************************/
package builder;
public class BuilderRealize implements BuilderInterface {
    private Product result = ProductFactory.getInstance();    
    public void buildPartA() {
        result.addPart("Part A");
    }    
    public void buildPartB() {
        result.addPart("Part B");
    }    
    public void buildPartC() {
        result.addPart("Part C");
    }
    public Product getResult() {
        return result;
    }
}
/***************************************************************************/
package builder;
public class Direct {
    private BuilderInterface builder = null;
    public Direct(BuilderInterface builder) {
        this.builder = builder;
    }
    public void construct(int j) {
        if (j == 1) {
            builder.buildPartA();
        }
        else if (j == 2) {
            builder.buildPartA();
            builder.buildPartB();
        }
        else {
            builder.buildPartA();
            builder.buildPartB();
            builder.buildPartC();
        }
    }
}
/***********************************************************************************/
package builder;
import java.util.*;
public class Main {
   
    public static void main(java.lang.String[] args) {
        //在此处插入用来启动应用程序的代码。
        BuilderRealize builder = new BuilderRealize();
        Direct direct = new Direct(builder);
        direct.construct(2);
        Product product = builder.getResult();
        Collection col = product.getResult();
        Iterator ite = col.iterator();
        while (ite.hasNext()) {
            System.out.println(ite.next());
        }
    }
}
/***********************************************************************/
package builder;
import java.util.*;
public interface Product {
    public void addPart(String part);
    public Collection getResult();
}
/***********************************************************************/
package builder;
public class ProductFactory extends ProductRealize {
   
    public static Product getInstance() {
        return new ProductRealize();
    }
}
/***********************************************************************/
package builder;
import java.util.*;
public class ProductRealize implements Product {
    private ArrayList carResult = new ArrayList();
    public void addPart(String part) {
        carResult.add(part);
    }
    public Collection getResult() {
        return carResult;
    }
}
上一篇:
JSP入门宝典
下一篇:
万维网创始人博客处女秀
我要投稿
打印本文
推荐本文
加入收藏
返回顶部
关闭窗口
01-12
通过JDBC连接Oracle数据库的十个技巧
11-27
解决JSP中使用request乱码问题
11-19
Java语言中常见的十大误解
04-05
WIN2000下JSP服务器的安装
03-25
JSP 2.0下的动态内容缓存分析讲解
通过JDBC连接Oracle数据库的十个...
用jsp修改mysql数据表中的数据
jsp留言本示例
more..
» 相 关 评 论
验证码:
站长吧首页
-
网站运营
-
站长学院
-
SEO查询
-
站长论坛
-
建站服务
-
联系本站
-
广告/业务
©2005-2006 站长吧 Master8.NET All rights reserved 陕ICP备05010609号
九州未来科技提供服务器支持
| 网站空间 | 虚拟主机