浏览 2245 次
锁定老帖子 主题:java建造模式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-07
是如何建造成成品的,调用者无需关心。 //首先是一个建造工具(builder)接口 public interface builder { void zhuji();//主机 void jianpan();//键盘 void xianshiqi();//显示器 void shubiao();//鼠标 computer getcomputer();//返回产品 } //建造工具的具体建造方式: public class ConcreteBuilder implements builder { private String zhuji; private String xianshiqi; private String jianpan; private String shubiao; @Override public void zhuji() { // System.out.println("生产主机"); zhuji= "MAC主机"; } @Override public void jianpan() { // System.out.println("生产键盘"); jianpan= "MAC键盘"; } @Override public void xianshiqi() { // System.out.println("生产显示器"); xianshiqi= "MAC显示器"; } @Override public void shubiao() { // System.out.println("生产鼠标"); shubiao= "MAC鼠标"; } @Override public computer getcomputer() { // System.out.println("电脑生产完成"); computer c = new computer(); c.setJianpan(jianpan); c.setShubiao(shubiao); c.setXianshiqi(xianshiqi); c.setZhuji(zhuji); return c; } } //然后就是建造者Director接口,建造者利用建造工具(builder)进行创建产品(construct方法) public class Director { private builder builder; public Director(builder builder) { this.builder=builder; } //将零件 主机 显示器 键盘 鼠标 组成复杂的对象 //组装电脑的过程 public void construct() { builder.zhuji(); builder.xianshiqi(); builder.shubiao(); builder.jianpan(); } } public class computer { private String zhuji; private String xianshiqi; private String jianpan; private String shubiao; public String getZhuji() { return zhuji; } public void setZhuji(String zhuji) { this.zhuji = zhuji; } public String getXianshiqi() { return xianshiqi; } public void setXianshiqi(String xianshiqi) { this.xianshiqi = xianshiqi; } public String getJianpan() { return jianpan; } public void setJianpan(String jianpan) { this.jianpan = jianpan; } public String getShubiao() { return shubiao; } public void setShubiao(String shubiao) { this.shubiao = shubiao; } public void info() { System.err.println(String.format("我是MAC机我的配置如下" + ",主机:%s 显示器: %s 键盘:%s 鼠标: %s", zhuji,xianshiqi,jianpan,shubiao)); } } public class getcomputer { public static void main(String[] args) { ConcreteBuilder builder= new ConcreteBuilder();//创建一个建造工具 Director director = new Director(builder);//创建(建造者)并把建造工具拿给建造者 director.construct();//建造者利用工具进行建造 computer c = builder.getcomputer();////取得产品 c.info(); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |