工厂编程图档案例可以按照以下步骤进行编写:
简介
简要介绍工厂方法的概念。
说明简单工厂方法作为工厂方法的一种简化形式,并未被GOF(GoF,Gang of Four,《设计模式:可复用面向对象软件的基础》)列为23种设计模式之一。
模拟场景
描述一个生产电脑的场景,其中电脑由多个部件(如硬盘、内存条、CPU、主板)组成。
为了保证供应链的可靠性,每种部件都选择至少两家供应商。
实现的思路
确定要创建的对象(即产品),例如硬盘。
定义一个硬盘产品类,并让不同供应商的硬盘继承该接口。
定义一个工厂类,该类根据参数决定创建哪家供应商的硬盘对象。
实现硬盘对象创建
参与者:
Product:定义硬盘对象的接口。
ConcreteProduct:实现不同供应商的硬盘类,如SeagateHardDisk和ToshibaHardDisk。
SimpleFactory:定义工厂类,负责创建硬盘对象。
代码示例
提供具体的代码实现,包括类图、序列图等。
```java
// 产品接口
interface HardDisk {
void display();
}
// 具体产品类
class SeagateHardDisk implements HardDisk {
@Override
public void display() {
System.out.println("Seagate HardDisk");
}
}
class ToshibaHardDisk implements HardDisk {
@Override
public void display() {
System.out.println("Toshiba HardDisk");
}
}
// 工厂类
class HardDiskFactory {
public static HardDisk createHardDisk(String supplier) {
if (supplier.equalsIgnoreCase("Seagate")) {
return new SeagateHardDisk();
} else if (supplier.equalsIgnoreCase("Toshiba")) {
return new ToshibaHardDisk();
} else {
throw new IllegalArgumentException("Invalid supplier");
}
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
HardDiskFactory factory = new HardDiskFactory();
HardDisk hardDisk = factory.createHardDisk("Seagate");
hardDisk.display();
}
}
```
总结
总结简单工厂方法的优势和局限性。
强调工厂方法在面向对象设计中的重要性。
通过以上步骤,你可以编写一个清晰、完整的工厂编程图档案例,帮助读者理解工厂方法的设计模式和实现原理。