background image

PHP 最常用的 种设计模式工厂模式和单例模式介绍

当你在不断的试图从你的应用程序中发现新的特征时,你是否发现你提出的解决方法和一
些以前你已经实现的东西是如此的类似呢
1.工厂模式 
主要作用是降低耦合度。

 

代码如下

:

 

abstract

 

class

 Operation{ 

abstract

 

public

 

function

 getValue(

$num1

,

$num2

); 

public

 

function

 getAttr(){ 

return

 1; 


class

 Add 

extends

 Operation{ 

public

 

function

 getValue(

$num1

$num2

){ 

return

 

$num1

+

$num2


class

 Sub 

extends

 Operation{ 

public

 

function

 getValue(

$num1

$num2

){ 

return

 

$num1

-

$num2


class

 Factory{ 

public

 

static

 

function

 CreateObj(

$operation

){ 

switch

 (

$operation

){ 

case

 '+': 

return

 

new

 Add(); 

case

 '-': 

return

 

new

 Sub(); 



$Op

=Factory::CreateObj('-'); 

echo

 

$Op

->getValue(3, 6); 

 
用在真正开发中一般当做数据库选择类。

 

2 单例模式 
单例是因为一个就足够了,多了浪费。比如邮局里的电话簿只有一本,有需要的人拿来看,
没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。

 

代码如下

: