48)PHP,工厂模式

为啥需要工厂模式啊:

(原来是生产类的工具——————————)

工厂类的代码格式:

 1 <?php
 2 class factory{
 3     //Instance表示“实例”,“对象”
 4     static function getInstance($className){
 5         if(file_exists(‘./‘ . $className . ".php")){
 6             $obj1 = new $className();
 7             return $obj1;
 8         }
 9         else{
10             return null;//也可以die();
11         }
12     }
13 }
14 $obj1 = factory::getInstance("A");//获取类A的一个对象
15 $obj2 = factory::getInstance("B");//获取类B的一个对象
16 $obj3 = factory::getInstance("A");//再获取类A的一个对象
17 ?>

我的文件目录样子:

在phpstorm中的服务器路径设置的是:/Demo/b.php

时间: 2024-10-02 23:41:34

48)PHP,工厂模式的相关文章

【设计模式】1、抽象工厂模式

对于这个抽象工厂的相应的代码实现 /** * 功能:抽象工厂模式的作用 适用性 1.一个系统要独立于它的产品的创建.组合和表示时. 2.一个系统要由多个产品系列中的一个来配置时. 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时. 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时. * 时间:2016年2月11日22:18 * 作者:cutter_point */ package com.shejimoshi.create.AbstractFactory; public in

Python 设计模式--简单工厂模式

简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例. 特点:根据不同的条件,工厂实例化出合适的对象. <大话设计模式>中实例:四则运算计算器 代码: 1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 class Operation: 5 def getResult(self): 6 pass 7 8 class OperationAdd(Operation): 9 def getResul

c++ 设计模式9 (Abstract Factory 抽象工厂模式)

5.2 抽象工厂模式 动机:在软件系统中,经常面临着"一系列相互依赖的对象"的创建工作:同时,由于需求的变化,往往存在更多系列对象的创建工作. 代码示例: 实现利用数据库的业务逻辑,支持多数据库(Sql,Oracle等),有连接.命令.读取等功能. 其中命令,连接功能之间有相互联系. 方法一(使用工厂方法): 每个功能类有一个创建的工厂,如IDBConnection与IDBConnectionFactory 1 //数据库访问有关的基类 2 class IDBConnection{ 3

JAVA设计模式之工厂模式

以下代码仅供展示工厂模式,不能直接编译,因为一个文件中最多只能有一个public class. 一.简单工厂模式:比较简单,produceProduct方法最好是静态的.它是根据参数来决定返回哪一种类型的product. 1 public interface Product 2 { 3 public void getName(); 4 } 5 6 public class ProductA implements Product 7 { 8 public void getName() 9 { 10

设计模式——工厂模式

常说的工厂模式一般认为有三种:简单工厂.工厂方法模式.抽象工厂模式.其中简单工厂严格上来说不是一种设计模式,而被认为是一种好的编码习惯/风格. 简单工厂 简单工厂的本质就是封装变化的代码,使客户代码将要面临的改变变少.而且被封装的代码也有了更好的复用性,比如服务多个客户端或者被继承/包装等工具来扩展. 下面以肾5和肾6为对象来说明 //define product(iphone) interface public interface IPhone{ public void model(); }

简单工厂模式的C++实现

用简单工厂模式实现一个计算器类: 1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 class Operation 7 { 8 public: 9 Operation(double numA = 0, int numB = 0) : numberA(numA), numberB(numB) 10 { 11 } 12 virtual ~Operation() 13 { 14 cout <

3 创建型模式-----抽象工厂模式

附加概念: 产品等级结构:不同品牌的同一类产品,如Haier电视机,TCL电视机都是电视机,因此属于同一个产品等级结构. 产品族:属于同一个品牌的所有产品,如Haier电视机,Haier冰箱等.   模式动机:工厂方法模式一般针对的是一个产品等级结构(如仅生产电视机),而抽象工厂模式针对的是多个产品等级结构(如不仅生产电视机,还生产空调). 模式定义:一个具体工厂可以创建一个产品族的所有产品,又称为Kit模式. 模式结构图: 模式实例: 一个电器工厂负责生产电视机和空调,其中包括Haier系列和

工厂模式一之简单工厂

工厂用来生产商品,然后卖给供应商,再由供应商转手给门店,再卖给顾客 .这样的一种生产到供应的过程,看看如何应用到我们的程序中. 1.下面以衣服店为例子. 第一步 clothes.js //创建一个衣服店模型. var ClothesShop = function (){} ClothesShop.prototype = { sellClothes: function (color){ var clothesType = ['Red', 'Blue', 'Yello', 'Green', 'Gra

创建型模式1.2简单工厂模式

一.概念 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一. 二.类图 三.具体介绍 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. 该模式中包含的角色及其职责 工厂(OpertionFactory)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑.工厂