设计模式 - 简单工厂模式

it2022-05-09  53

简介

模式定义

简单工厂模式(Simple Factory):根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类,用来创建其他类的实例,被创建的实例通常都具有共同的父类。

模式特点

简单工厂模式包含三个角色:

Factory:工厂,负责实现创建所有实例Product:抽象产品,是所创建的所有对象的父类,负责描述所有实例所共有的公共接口ConcreteProduct:具体产品,是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

优缺点

只需要调用工厂方法并传入正确参数,即可得到对象。增加新产品时,需要修改工厂类的判断逻辑,违背了开闭原则。

一般在确定需要工厂创建的对象数量较少且相对稳定时,才会使用简单工厂模式。

PHP 代码示例

<?php abstract class Product { abstract public function f1(); } class ProductA extends Product { public function f1() { echo "this is ProductA"; } } class ProductB extends Product { public function f1() { echo "this is ProductB"; } } class Factory { public static function getInstance($product) { if ($product == "A") { return new ProductA(); } elseif ($product == "B") { return new ProductB(); } } } $obj = Factory::getInstance("A"); $obj->f1();

转载于:https://www.cnblogs.com/kika/p/10851577.html

相关资源:数据结构—成绩单生成器

最新回复(0)