创建者模式主要由5部分组成:抽象产品类、实现抽象产品类的具体类、抽象创建者类、实现抽象创建者类的具体类、组装类
说明:比工厂抽象工厂增加一个用来组装产品的类,客户端就不用知道对象的构建细节.
UML原理图:
例子:
package com.buider;
public class Client {
public static void main(String[] args){
Director diretor = new Director(new MotorcycleFactory());
Motorcycle m = diretor.assembleMotorcycle();
}
}
package com.buider;
/**
*
* @Title: Director.java
* @Description: 组装类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public class Director {
private Factory factory;
public Director(Factory factory){
this.factory = factory;
}
//这里进行组装
public Motorcycle assembleMotorcycle(){
Wheel w = factory.createWheel();
w.bulid();
Tyre t = factory.createTyre();
t.bulid();
Engine e = factory.createEngine();
e.build();
return new Motorcycle1();
}
}
package com.buider;
/**
*
* @Title: Engine.java
* @Description: 发动机接口类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public interface Engine {
void build();
}
package com.buider;
public class Engine1 implements Engine {
public void build() {
System.out.println("组装摩托车发动机开始");
}
}
package com.buider;
public interface Factory {
Wheel createWheel();
Tyre createTyre();
Engine createEngine();
}
package com.buider;
/**
*
* @Title: Motorcycle.java
* @Description: 摩托车类接口
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public interface Motorcycle {
void bulid();
}
package com.buider;
/**
*
* @Title: Motorcycle1.java
* @Description: 具体摩托车类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public class Motorcycle1 implements Motorcycle{
public void bulid() {
System.out.println("组装摩托车开始");
}
}
package com.buider;
public class MotorcycleFactory implements Factory {
public Engine createEngine() {
return new Engine1();
}
public Tyre createTyre() {
return new Tyre1();
}
public Wheel createWheel() {
return new Wheel1();
}
}
package com.buider;
/**
*
* @Title: Tyre.java
* @Description: 摩托车轮胎接口类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public interface Tyre {
void bulid();
}
package com.buider;
/**
*
* @Title: Tyre1.java
* @Description: 摩托车轮胎具体类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public class Tyre1 implements Tyre {
public void bulid() {
System.out.println("组装摩托车轮胎开始");
}
}
package com.buider;
/**
*
* @Title: Wheel.java
* @Description: 车轮接口类
* @author awfhome@163.com
* @date 2010-6-3
* @version V1.0
*/
public interface Wheel {
void bulid();
}
package com.buider;
public class Wheel1 implements Wheel {
public void bulid() {
System.out.println("组装摩托车轮开始.");
}
}
- 大小: 14.5 KB
分享到:
相关推荐
Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的...
创建者模式,或称为Builder模式,是一种广泛应用的设计模式,在软件开发中扮演着重要角色。它主要用于将一个复杂对象的构造与其表示分离,以使得同样的构造过程可以创建不同的表示。这不仅提高了代码的可维护性,也...
**创建者模式(Builder)** 创建者模式是一种设计模式,属于建造者模式,它将复杂的对象构造过程分离开来,使得相同的构造过程可以创建不同的表示。这种模式的主要优点在于能够隔离对象的构建过程,使代码更加清晰,...
建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。这种模式的核心思想在于将对象的构建与表示分离,使得构建过程和不同表示可以独立变化,提高...
5. **接收(Receiving)数据**: 数据接收是通过`recvfrom`函数完成的,它可以获取到来自任何地方的数据,并提供发送者的地址信息。 6. **多播(Multicast)**: UDP支持多播,允许数据包一次性发送到多个接收者,这...
### 设计模式之创建者模式详解 #### 一、创建者模式概述 创建者模式(Builder Pattern),又称建造者模式,是一种常用的软件设计模式。它主要用于解决对象创建时的复杂性和灵活性问题。创建者模式的核心思想是将一...
5. **VCL库**:熟悉C++ Builder中的VCL组件,如何使用它们创建用户界面,并与后台代码交互。 6. **图形渲染**:掌握如何在C++ Builder中绘制2D和3D图形,可能涉及到OpenGL或者其他图形库。 7. **事件处理**:理解...
Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,具有多种组成部件;Builder定义了构建产品的接口,而不涉及具体...
**建造者模式(Builder Pattern)**是软件设计模式中的一种,属于创建型模式。它将复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于那些需要大量构造参数的对象,通过...
【创建型模式】设计模式之建造者模式(Builder Pattern) 建造者模式(Builder Pattern)是设计模式中的一个创建型模式,它提供了一种方法来分步骤构造复杂的对象,使得构造过程和表示分离,使得同样的构建过程可以...
5. **使用TIdTCPServer和TIdTCPClient**:这两个组件分别用于创建TCP服务器和客户端。TIdTCPServer监听特定端口,接收客户端连接,并处理接收到的数据;TIdTCPClient则负责建立到服务器的连接,发送数据并接收回应。...
在Java中,Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,Builder定义了产品的构造接口,ConcreteBuilder实现...
作为初学者,你可以通过此项目了解C++Builder的基本用法,如创建新工程、添加源代码文件、设置界面元素等。 【标签】"c++_builder" 进一步确认了这个项目的核心技术栈,即C++Builder。C++Builder具有丰富的控件库和...
建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype)结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator Pattern) 9. 组合模式(Composite ...
C++ Builder 是一款由 Embarcadero Technologies 提供的集成开发环境(IDE),它支持 C++ 编程语言,特别适用于创建高性能的桌面应用程序,包括工业自动化领域的应用。 描述中的“我想和大家一起交流开发一个自动化...
建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator Pattern) 9. 组合...
3. RAD(Rapid Application Development):C++Builder采用RAD模式,允许开发者快速构建应用程序,因为它支持可视化设计和事件驱动编程。 二、文本编辑器开发步骤 1. 创建新项目:打开C++Builder,选择"新建工程...
【标题】"newgame.rar_C++ Builder_网络 C++...通过研究这些文件,学习者可以深入了解C++ Builder如何结合网络技术实现一个实时的多人在线游戏。这种实践经验对于提升C++ Builder的使用技巧和网络编程能力非常有帮助。
1. **简单创建者模式示例**:通过一个简单的例子,比如创建汽车对象,展示如何通过Builder接口和Concrete Builder类实现创建过程。 2. **产品类结构**:讲解产品类(如Car类)的定义,以及如何通过Builder接口来设置...
5. **实例应用**:可能提供了关于如何在实际项目中应用创建者模式的案例,例如在游戏对象生成、配置文件解析或数据库连接池等场景中的应用。 6. **优缺点分析**:分析了创建者模式的优点,如提高了代码的可读性和可...