2019独角兽企业重金招聘Python工程师标准>>>

<?php
/*** PHP 抽象工厂模式(Kit模式)* 例商品抽象出类别,例如 电脑 电视 抽象成* 电脑 computed 接口  电视 TV 接口* 商品品牌为具体实现类* 工厂类抽象类* 具体工厂是负责创建 商品*//*** Interface ComputedIO* 抽象产品种类*/
interface ComputedIO {public function Name ();public function Price ();
}/*** Class DellXps* 具体品牌产品*/
class DellXps implements  ComputedIO {public function Name(){echo 'New Xps13 dell';// TODO: Implement Name() method.}public function Price(){echo 'Price:6999';// TODO: Implement Price() method.}
}/*** Interface TvIO* 抽象种类接口*/
interface TvIO {public function Brands();
}/*** Class SonyTv* 具体品牌产品*/class SonyTv implements TvIO {public function Brands(){echo 'Sony-69';// TODO: Implement Brands() method.}}/*** Class AbsFactory* 工厂抽象* 工厂的能力*/
abstract class AbsFactory {abstract public static function NewComputed();abstract public static function NewTV();
}/*** Class Factory* 工厂能力的实现类*/class Factory extends AbsFactory {public static function NewComputed(){return new DellXps();// TODO: Implement NewComputed() method.}public static function NewTV(){return new SonyTv();// TODO: Implement NewTV() method.}
}$dell = Factory::NewComputed();
$dell->Name();
$dell->Price();
// New Xps13 dellPrice:6999echo ''.PHP_EOL;$sony = Factory::NewTV();
$sony->Brands();
// Sony-69
echo ''.PHP_EOL;

转载于:https://my.oschina.net/u/3529405/blog/1823474

PHP 抽象工厂模式(Kit模式)相关推荐

  1. 设计模式学习笔记——抽象工厂(Abstract Factory)模式

    设计模式学习笔记--抽象工厂(Abstract Factory)模式 @(设计模式)[设计模式, 设计模式中文名, 设计模式英文名] 设计模式学习笔记抽象工厂Abstract Factory模式 基本 ...

  2. 设计模式--抽象工厂(Abstract Factory)模式

    模式定义 提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类 类图 应用场景 程序需要处理不同系列的相关产品,但是你不希望它依赖于这些产品的具体类时可以使用抽象工厂模式 优点 1.可以 ...

  3. 设计模式、原则、饿汉式单例模式、抽象工厂、代理模式、观察者模式、模板方法模式使用场景

    设计模式 ​ 对各种面向对象方法的一种总结.前辈们遇到了好多设计问题,然后利用面向对象解决了.然后他们把解决方案汇总起来,形成了20多种设计模式.它可以有效的帮助我们利用面向对象,来提高代码的复用性. ...

  4. 工厂模式(简单工厂,工厂方法,抽象工厂)

    工厂顾名思义就是创建产品,工厂分为三种:简单工厂,工厂方法,抽象工厂.该模式用于封装和管理对象的创建,是一种创建型模式. 1)简单工厂 该模式通过向工厂传递类型来指定要创建的对象 提供一个方法,根据类 ...

  5. C++设计模式 | Factory工厂模式(简单工厂、工厂方法、抽象工厂)

    目录 简单工厂 工厂方法 抽象工厂 学习工厂模式需要有C++虚函数 纯虚函数等相关继承与多态知识 简单工厂 在简单工厂模式中,可以根据参数的不同返回不同的实例..简单工厂模式专门定义一个类来负责创建其 ...

  6. 【Python】设计模式(2)--抽象工厂模式

    抽象工厂模式 亦称: Abstract Factory 意图 抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类. 问题 假设你正在开发一款家具商店模拟器. 你的代码中 ...

  7. 抽象工厂模式(图画版)

    意图 抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类. 问题 假设你正在开发一款家具商店模拟器. 你的代码中包括一些类, 用于表示: 一系列相关产品, 例如 椅子C ...

  8. 工厂模式之简单工厂、工厂方法、抽象工厂分析对比

    工厂模式有三种分类,简单工厂(也叫静态工厂).工厂方法模式.抽象工厂 一.简单工厂 简单工厂通俗的说就是提供一个类,这个类中的某个方法根据入参的不同来创建并返回实现了同一个接口的不同具体子类(产品). ...

  9. 浅谈工厂和建造者模式

    最近在写安卓项目,在引入rxJava和Retrofit发现大量引用的建造者模式.那在此就记录和简单介绍一下两者的区别和使用方法. 工厂模式和建造者模式都属于创建型模式,它对类的实例化进行了抽象. 1. ...

  10. java框架就是调库吗_关于java:Factory方法更适合框架和抽象工厂库吗?

    Abstract Factory和Factory方法模式都是创建设计模式,它解决了不同场景下的对象创建问题. 根据GOF工厂方法模式 Define an interface for creating ...

最新文章

  1. Apache模块开发
  2. 公众号自定义图文消息推送(2)
  3. 备忘录:CISCO router ENABLE crack
  4. PAT甲级1019 General Palindromic Number:[C++题解]进制位、回文数、vector来做
  5. Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流
  6. ST_Curve --- 一个专业的曲线绘制控件
  7. (收藏)Turbo C 2.0、Borland C++库函数及用例
  8. c 内存加载易语言dll,[求助]MemoryLoadLibrary 加载MFC 易语言 DLL 失败
  9. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)
  10. 怎样用一份数据透视表打动老板
  11. 意大利面条:面向过程的代码模型
  12. sed的选项与命令简要
  13. Node.js:package.json中的dependencies和devDependencies区别
  14. 手机模拟门禁卡 — 加密门禁卡模拟教程
  15. matlab线圈磁场,载流圆线圈磁场的MATLAB数值计算
  16. 联想t450进入bios设置按哪个键_联想笔记本BIOS设置图解中文说明
  17. 读书笔记 - 《移山之道:VSTS软件开发指南》中的软件测试介绍
  18. 7个步骤!3分钟!轻松绘制简单好看的折线图!
  19. 4款让人心疼的电脑软件,由于免费又实用,常被同行挤压
  20. Android应用中保存网络图片功能实现详解

热门文章

  1. [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader
  2. 去掉字符串最后一个字符
  3. 深入理解JS中和||
  4. C#的进度条--progressBar
  5. 使用migration创建表时,出错的解决方法
  6. HTML5 浏览器返回按钮/手机返回按钮事件监听
  7. .NET应用程序与数据库交互的若干问题
  8. 重新安装NVIDIA显卡驱动
  9. 创建Docker私有仓库
  10. 1_线性表之顺序存储