找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1934|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 08:27:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            1.工厂模式
主要作用是降低耦合度。
[U]复制代码[/U] 代码如下:
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单例模式
单例是因为一个就足够了,多了浪费。比如邮局里的电话簿只有一本,有需要的人拿来看,没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。
[U]复制代码[/U] 代码如下:
class Mysql{
public static $conn;
public static function getInstance(){
if (!self:conn){
new self();
return self:conn;
}else {
return self:conn;
}
}
private function __construct(){
self:conn= "mysql_connect:";// mysql_connect('','','')
}
public function __clone()
{
trigger_error("Only one connection");
}
}
echo Mysql::getInstance();
echo Mysql::getInstance();

实际中用作数据库连接类和工厂模式一起使用,根据参数调用单例模式,可以提高资源使用效率。
            
            
您可能感兴趣的文章:
  • 介绍php设计模式中的工厂模式
  • php 设计模式之 工厂模式
  • php设计模式 Factory(工厂模式)
  • 基于php设计模式中工厂模式详细介绍
  • php设计模式之简单工厂模式详解
  • PHP实现设计模式中的抽象工厂模式详解
  • php基础设计模式大全(注册树模式、工厂模式、单列模式)
  • 学习php设计模式 php实现工厂模式(factory)
  • PHP设计模式之工厂模式与单例模式
  • PHP设计模式之工厂模式详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端