//-----------抽象产品角色------------
//定义保险产品工厂获取产品
interface InsuranceProduct
{
public function getProductList();
}
//-----------具体产品角色------------
//众安保险
class ZhongAn implements InsuranceProduct {
public function getProductList()
{
return "ZhongAn Insurance ProductList";
}
}
//小雨伞保险
class XiaoYuSan implements InsuranceProduct {
public function getProductList()
{
return "XiaoYuSan Insurance ProductList";
}
}
//齐欣保险
class QiXin implements InsuranceProduct {
public function getProductList()
{
return "QiXin Insurance ProductList";
}
}
//-----------抽象工厂类------------
interface Factory
{
public function create();
}
//-----------继承工厂类, 用于实例化产品------------
class ZhongAnFactory implements Factory
{
public function create()
{
return new ZhongAn();
}
}
class XiaoYuSanFactory implements Factory
{
public function create()
{
return new XiaoYuSan();
}
}
class QiXinFactory implements Factory
{
public function create()
{
return new QiXin();
}
}
//-----------具体操作类------------
class Client
{
public function test()
{
$qiXinResult = new QiXinFactory();
echo $qiXinResult->create()->getProductList();
$xiaoYuSanResult = new XiaoYuSanFactory();
echo $xiaoYuSanResult->create()->getProductList();
}
}
$lala = new Client();
$lala->test();
工厂方法模式(factory method模式)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Simple Factory Pattern(简单工厂模式) GoF中认为简单工厂模式是工厂方法的一个特例。 结构...
- “对象创建”模式 通过“对象创建”模式绕开直接new一个具体的类型,来避免对象创建(new)过程中所导致的紧耦合(...
- 主要角色 具体的产品 具体的创建者 职责 解决创建对象需要大量的代码,客户端不需要知道创建对象细节。 角色关系 产...
- 什么是工厂方法模式?定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子...
- 1. 工厂方法模式简介 工厂方法模式(Factory Method Pattern)是创建型的设计模式,和简单工厂...