1、生成器模式的原理:
- Builder
为创建一个Product对象的各个部件指定抽象接口
- ConcreteBuilder
实现Builder的接口以构造和装配该产品的各个部件 定义并明确它所创建的表示 提供一个检索产品的接口
- Director
构造一个使用Builder接口的对象
- Product
表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程。 包含定义组成部件的类,包括将这些部件装配成最终产品的接口 结构图: 2、原型模式原理:
- Prototype
声明一个克隆自身的接口
- ConcretePrototype
实现一个克隆自身的操作
- Client
让一个原型克隆自身从而创建一个新的对象 结构图: 题目要求: 使用生成器模式模拟实现IBM电脑的生产,其中IBM电脑的主要结构用如下表示: class IBM{ string monitor=”IBM的显示器”; string keyboard=”IBM的键盘”; string mouse=”IBM的鼠标”; Motherboard* MB; void display(); } 其中MB是一个主板类,其主要结构如下: class Motherboard{ string CPU; string RAM; } 即主板包含CPU和RAM。display是一个打印各个组件的函数,主要用于检查是否生产正确。 建造顺序为先生产主板,再依次生产显示器、键盘和鼠标。 使用生成器模式生产出第一台IBM电脑后,利用原型模式,将该电脑再复制两台。 UML类图: 代码:
1 |
|
结果: