文档章节

php 工厂模式

my平凡世界
 my平凡世界
发布于 2014/05/31 14:24
字数 134
阅读 22
收藏 0
<?php


/*
法一:
$arr = array('+' => 'add','-' => 'plus','*' => 'mul');
function  add($a,$b)
{
	return $a+$b;
}
function plus($a,$b)
{
	return $a-$b;
}
function mul($a,$b)
{
	return $a*$b;
}

echo $arr['+'](2,3);
echo $arr['-'](2,3);
echo $arr['*'](2,3);*/


abstract class operate
{
	abstract public function getvalue($a,$b);
}

class add extends operate
{
	public function getvalue($a,$b)
	{
		return $a+$b;
	}
}
class jian extends operate
{
	public function getvalue($a,$b)
	{
		return $a-$b;
	}
}
class chen extends operate
{
	public function getvalue($a,$b)
	{
		return $a*$b;
	}
}
class chu extends operate
{
	public function getvalue($a,$b)
	{
		return $a/$b;
	}
}

class factory
{
	public static function oper($str)
	{
		switch($str)
		{
			case '+':
			return new add();
			break;

			case '-':
			return new jian();
			break;

			case '*':
			return new chen();
			break;

			case '/':
			return new chu();
			break;
		}
	}
}

echo factory::oper('-')->getvalue(10,8);


© 著作权归作者所有

共有 人打赏支持
my平凡世界
粉丝 1
博文 10
码字总数 1227
作品 0
泰州
javascript 设计模式之工厂(Factory)模式

工厂模式介绍 工厂模式是一个创建型的模式,主要就是创建对象。其中工厂模式又分为简单工厂模式和抽象工厂模式。简单工厂模式是通过工厂方法确定创建 对应类型的对象。抽象工厂模式是通过子类...

hlxiong
2014/04/14
0
0
PHP设计模式初探-详解单例模式

常见的设计模式有 24 种,其实就常规开发来说,了解其中的七八种就足够了。工厂模式是最常见的,一般初学面向对象首先接触的就是工厂模式,不多废话。 单例模式( wikipedia )是指类只维持一个...

AiryLinus
2012/04/20
0
0
TP5.0 Redis(单例模式)(原)

看到好多面试都问设计模式,我就简单的了解了一下,顺便把之前封装好的Reis做了一次修改. 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行实例...

豆花饭烧土豆
08/09
0
0
java设计模式-- 单例模式

在很久之前,也就是在大二暑假的时候,那时候看马士兵的视频教程中有提到很多的设计模式。 java的设计模式大致可以分为3大类,23种设计模式。 其中,创建型模式有5种:单例模式、建造者模式、...

爱学习的逃课君
2014/11/27
0
0
代理模式(Proxy Pattern):动态代理 - 最易懂的设计模式解析

前言 今天我来全面总结开发中最常用的设计模式 - 代理模式中的动态代理模式 其他设计模式介绍 1分钟全面了解“设计模式” 单例模式(Singleton) - 最易懂的设计模式解析 简单工厂模式(Sim...

Carson_Ho
04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
27分钟前
4
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
30分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
34分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
44分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部