当前位置: 首页 > news >正文

php 抽象工厂模式

1,抽象工厂(Abstract Factory)模式,是创建设计模式的一种,它创建一系列相关的对象,而不必指定具体的类。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为此系列的产品族创建一个具体的工厂类。

主要角色:

抽象工厂(Abstract Factory)角色:它声明创建抽象产品对象的接口

具体工厂(Concrete Factory)角色:实现创建产品对象的操作

抽象产品(Abstract Product)角色:声明一类产品的接口

具体产品(Concrete Product)角色:实现抽象产品角色所定义的接口

2,例子


//抽象A产品
interface ProductA
{public function show();
}class RedA implements ProductA
{public function show(){echo '商品:RedA';}
}class BlueA implements ProductA
{public function show(){echo '商品:BlueA';}
}//抽象B产品
interface ProductB
{public function show();
}class RedB implements ProductB
{public function show(){echo '商品:RedB';}
}class BlueB implements ProductB
{public function show(){echo '商品:BlueB';}
}//抽象工厂
interface Abstractfactory
{public function createA(): ProductA;public function createB(): ProductB;
}//具体工厂Red
class Redfactory
{public function createA():ProductA{return new RedA();}public function createB():ProductB{return new RedB();}
}
//具体工厂Blue
class Bluefactory
{public function createA(){return new BlueA();}public function createB(){return new BlueB();}
}
$p=new Redfactory();
$p->createA()->show();//商品:RedA

http://www.lryc.cn/news/97755.html

相关文章:

  • WPF实战学习笔记13-创建注册登录接口
  • 银行API安全解决方案
  • 3d软件动物生活习性仿真互动教学有哪些优势
  • <C语言> 字符串内存函数
  • 知网的caj格式怎么转化成pdf格式?两个方法简单快捷!
  • 【每日一题】2500. 删除每行中的最大值
  • 通俗解释什么是(ip、网段、端口)
  • PyTorch quantization observer
  • 垃圾回收之三色标记法(Tri-color Marking)
  • Individual household electric power consumption个人家庭用电量数据挖掘与时序预测建模
  • 实验三 贪心算法
  • 详解go的hex.Encode原理
  • R730服务器用光盘安装系统(Esxi系统)
  • SpringCloud nacos 集成 gateway ,实现动态路由
  • flutter:角标
  • 基于JAVA SpringBoot和Vue高考志愿填报辅助系统
  • [php-cos]ThinkPHP项目集成腾讯云储存对象COS
  • DuckDB全面挑战SQLite
  • Elasticsearch查询裁剪
  • Hadoop——Hive运行环境搭建
  • (vue)vue项目中引入外部字体
  • ChatGPT在语义理解和信息提取中的应用如何?
  • Mysql-主从复制与读写分离
  • 算法练习(3):牛客在线编程04 堆/栈/队列
  • mac下安装vue cli脚手架并搭建一个简易项目
  • 尝试-InsCode Stable Diffusion 美图活动一期
  • 【OpenGL学习】之着色器GLSL基础
  • Python爬虫基础知识点有哪些
  • 【CSS】 vh、rem 和 px 的区别
  • 如何设置板子从emmc启动-针对imx6ull