创造者模式
2017-02-19 15:50
260 查看
/** * 工人接口,定义各个工人要进行的工作 */ public interface Builder { public void makeWindow(); public void makeDoor(); public Room getRoom(); }
/** * 设计师,负责指挥工人建造 */ public class Dsigner { public void order(Builder builder) { builder.makeWindow(); builder.makeDoor(); } }
/** * 工人,负责建造,若window与door不为空,则提交房子给房主 */ public class Worker implements Builder { private String window; private String door; public void makeWindow() { window = "window"; } public void makeDoor() { door = "door"; } public Room getRoom() { if ((!"".equals(window)) && (!"".equals(door))) { return new Room(); } return null; } }
/** * 房主,聘请工人,设计师 * 设计师设计房子,设计师指挥工人建造房子,最后从工人手上收房。 */ public class Client { public static void main(String[] args) { Dsigner dsigner = new Dsigner(); Worker worker = new Worker(); dsigner.order(worker); worker.getRoom(); } }
相关文章推荐
- 创造者模式
- 设计模式-创造者模式(Builder)
- 设计模式--(Builder)创造者模式
- 创造者模式
- 设计模式之创造者模式 Builder
- 设计模式-创造者模式(Builder) 4000
- 设配器模式不止是补救,有时更像是一个创造者
- javascript --- 设计模式之创造者模式
- 创造者模式
- 让DMA66 硬盘工作在DMA33 模式
- 特效天地——淡入淡出(真彩模式)
- OpenSource产品的商业操作模式
- COM组件中的线程模式
- 打开你的 DMA 模式 (转)
- 水木-Emacs 的 texinfo 模式 (三)
- 水木-Emacs 的 texinfo 模式 (二)
- 水木-Emacs 的 texinfo 模式(一)
- 虚拟8086模式的内存管理
- 16位BIT模式下的ALPHA运算
- 用于核心模式驱动程序的网络体系结构(1)