设计模式之——工厂模式(简单工厂模式1)
来源:互联网 发布:微单 人像 知乎 编辑:程序博客网 时间:2024/06/05 03:36
简单工厂模式(Simple Factory Pattern)又被称为静态工厂方法模式(Static Factory Method Pattern),具体指创建一个类似于工厂的类,通过对该类中成员方法的调用返回不同类型的对象。
1、类图
这里,抽象类Product定义了一个获取产品名称的成员方法getName(),Product抽象类的具体实现为子类ProductA和子类ProductB。工厂类ProductFactory 用来决定在什么时候创建并返回哪个产品类的实例化对象,使用时,只需把参数传递给其他成员的create()方法,就可以创建Product类的对象,无须考虑具体的生产细节。
2、代码
1、类图
这里,抽象类Product定义了一个获取产品名称的成员方法getName(),Product抽象类的具体实现为子类ProductA和子类ProductB。工厂类ProductFactory 用来决定在什么时候创建并返回哪个产品类的实例化对象,使用时,只需把参数传递给其他成员的create()方法,就可以创建Product类的对象,无须考虑具体的生产细节。
2、代码
- <?php
- //抽象类Product
- abstract class Product {
- abstract function getName();
- }
- //具体类ProductA
- class ProductA extends Product {
- public function getName() {
- echo "I am ProductA";
- }
- }
- //具体类ProductB
- class ProductB extends Product {
- public function getName() {
- echo "I am ProductB";
- }
- }
- // 工厂类ProductFactory
- class ProductFactory {
- static function create($name) {
- switch ($name) {
- case "A":
- return new ProductA();
- case "B":
- return new ProductB();
- }
- }
- }
- $product=ProductFactory::create("A");
- $product->getName();
- echo "<br />";
- $product=ProductFactory::create("B");
- $product->getName();
- 设计模式之——工厂模式(简单工厂模式1)
- Java设计模式之工厂模式——简单工厂
- 设计模式——工厂模式之简单工厂
- 设计模式解读之 简单工厂模式&工厂方法模式&抽象工厂模式(1)
- C++设计模式之1-工厂模式(简单工厂模式-工厂方法模式-抽象工厂模式)
- 设计模式学习之工厂模式(简单工厂模式)
- 设计模式 之简单工厂+ 工厂模式
- C#设计模式之1——简单工厂模式
- C#设计模式之1——简单工厂模式 .
- C#设计模式之1——简单工厂模式
- 设计模式之工厂模式系列(简单工厂,工厂模式,抽象工厂模式)
- 设计模式——工厂模式(简单工厂)
- 设计模式之——工厂模式(简单工厂模式2)
- Java设计模式之——简单工厂模式(静态工厂模式)
- 设计模式之1---简单工厂模式
- 设计模式(1)之简单工厂模式
- 设计模式之1--简单工厂模式
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- ZOJ - 1119 SPF
- linux中的用户和用户组
- uva 644 Immediate Decodability
- BZOJ 2005 [Noi2010]能量采集
- c语言 外部函数
- 设计模式之——工厂模式(简单工厂模式1)
- Linux GCC常用命令
- 关于银行调度的学习
- Node.js编程时fs.renameSync出错
- undefined reference to `vtable for TEXT1'
- Linux tcpdump命令详解
- 指针转换
- 在csdn开博第一天记事
- Linux vmstat命令实战详解