/** * 建造者模式 * * 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 * * 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语句
相关推荐
8. 建造者模式(BUILDERPATTERN):建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 此外,书中还提到了“六大设计原则”,这是设计模式背后的指导思想,包括: 1. 单一...
7. 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 8. 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新...
- **建造者模式**:将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **原型模式**:通过复制现有的实例来创建新对象,而不是通过构造函数创建。 - **单例模式**:确保一个类只有一...
创建型模式主要关注对象的创建,提供了灵活创建对象的方法,包括单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 2. 结构型模式 结构型模式涉及如何组合类和对象以获得更大的结构。包括适配器模式、...
1. 创建型模式(Creational Patterns):主要处理对象的创建,如单例模式(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。...
- 建造者模式(Builder Pattern) - 原型模式(Prototype Pattern) 2. 结构型模式主要关注如何将类或对象结合在一起,形成更大的结构。它包括: - 适配器模式(Adapter Pattern) - 桥接模式(Bridge Pattern...
建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 11. 桥梁模式(Bridge Pattern) 桥梁模式将抽象部分与实现部分分离,使它们都可以独立地变化。它通过提供抽象化和实现...
- **建造者模式**:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 - **单例模式**:保证一个类仅有一个实例,并提供一个全局访问点。 - **原型模式**:通过复制已有对象来创建新...
建造者模式则用于创建复杂的对象,通过步骤分解,使得构造过程更加可控。 适配器模式帮助两个不兼容的接口协同工作,而代理模式可以在调用原对象的同时添加额外功能,如缓存或权限控制。装饰器模式在不改变原有类的...
10. **建造者模式(BuilderPattern)**:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 11. **桥梁模式(BridgePattern)**:将抽象部分与它的实现部分分离,使它们都可以独立地...
建造者模式允许用户逐步构建一个复杂的对象。 **2.4 原型模式** - 通过复制一个已有实例来创建新对象,而不是通过创建对象的过程。 #### 2. 结构型模式 **3.1 外观模式** - 为子系统中的一组接口提供一个一致的...
第10章建造者模式(BUILDER PATTERN):将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式在创建对象的过程中提供了更高的灵活性。 第11章桥梁模式(BRIDGE PATTERN):将抽象部分...
内容概要:本文详细阐述了23种PHP面向对象设计模式,包括但不限于工厂模式、单例模式、建造者模式、原型模式、适配器模式等。每种模式均配有UML类图和相应的PHP示例代码。并通过具体生活中的实例来辅助理解每种模式...