[初级]设计模式--建造者模式
2015-12-31 11:14
232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010398336/article/details/84759112
/** * 建造者模式 * * 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 * * 1、建造者接口,定义建造者需要提供的功能 * 2、指挥者类,定义了建造过程 * 3、具体建造者提供建造的具体实现 * * 优点: * 1、客户端调用时不用知道内部细节,指定建造者即可 * 2、建造者之间是相互独立又可相互替换的,便于维护/扩展 * * 与工厂模式的区别 * 工厂模式:侧重组装过程 * 建造者模式:侧重组装所需零件的生产过程 * * 工厂模式就像玩积木,原料都差不多,看你如何搭 * 建造者模式像造汽车,整体框架都差不多,但是具体零件相差较大 */ public class BuiderDemo01 { public static void main(String[] args) { ModuleDirector md1 = new ModuleDirector(new InternCoder()); md1.createModule(); ModuleDirector md2 = new ModuleDirector(new NormalCoder()); md2.createModule(); ModuleDirector md3 = new ModuleDirector(new GodlikeCoder()); md3.createModule(); } } /** * 模块建造者接口 */ interface ModuleBuider{ public void createJAVA(); public void createJSP(); public void createSQL(); } /** * 指挥者,指挥建造者创建模块 */ class ModuleDirector{ private ModuleBuider mb; public ModuleDirector(ModuleBuider mb){ this.mb = mb; } public void createModule(){ mb.createJAVA(); mb.createJSP(); mb.createSQL(); } } /** * 实习生 */ class InternCoder implements ModuleBuider{ @Override public void createJAVA() { System.out.println("实习生编写后台代码"); } @Override public void createJSP() { System.out.println("实习生编写前台代码"); } @Override public void createSQL() { System.out.println("实习生编写SQL语句"); } } /** * 普通程序员 */ class NormalCoder implements ModuleBuider{ @Override public void createJAVA() { System.out.println("普通程序员编写后台代码"); } @Override public void createJSP() { System.out.println("普通程序员编写前台代码"); } @Override public void createSQL() { System.out.println("普通程序员编写SQL语句"); } } /** * 大神 */ class GodlikeCoder implements ModuleBuider{ @Override public void createJAVA() { System.out.println("大神编写后台代码"); } @Override public void createJSP() { System.out.println("大神编写前台代码"); } @Override public void createSQL() { System.out.println("大神编写SQL语句"); } }
运行结果:
实习生编写后台代码 实习生编写前台代码 实习生编写SQL语句 普通程序员编写后台代码 普通程序员编写前台代码 普通程序员编写SQL语句 大神编写后台代码 大神编写前台代码 大神编写SQL语句
相关文章推荐
- 设计模式——建造者模式
- 设计模式之禅-建造者模式
- 设计模式之建造者模式
- 设计模式-建造者模式
- 创建型设计模式(5):建造者模式
- 设计模式(六)建造者(创建型)
- 设计模式C++版:第四式建造者模式
- java设计模式之建造者模式
- 设计模式 --> (4)建造者模式
- java设计模式之建造者模式
- 【设计模式】好菜每回味不同 --- 建造者模式
- JavaScript的设计模式经典之建造者模式
- 深入理解JavaScript系列(27):设计模式之建造者模式
- Java与设计模式(十三)创建型--建造者模式
- [设计模式之禅读书笔记]011_23种设计模式五:建造者模式
- 设计模式—建造者模式
- 自学与复习设计模式笔记(4)建造者模式
- iOS 设计模式之建造者模式 (Builder)
- Java--设计模式之建造者模式
- C#设计模式-建造者模式