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单例模式

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

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();

实际中用作数据库连接类和工厂模式一起使用,根据参数调用单例模式,可以提高资源使用效率。

转载于:https://www.cnblogs.com/steptoupper/archive/2012/08/10/2632322.html

PHP最常用的2种设计模式工厂模式和单例模式相关推荐

  1. 23种设计模式-工厂模式

    23种设计模式-工厂模式 前言: [我们为什么需要使用工厂模式?] /*** 在使用工厂模式之前,我们要创建 实现了相同接口的对象 都需要直接new(),如下* */@Testpublic void ...

  2. 23种设计模式——工厂模式

    文章目录 23种设计模式--工厂模式 1.工厂模式概述 2.简单工厂模式 2.1.简单工厂模式的优缺点 2.2.简单工厂模式的结构 2.3.简单工厂模式的实现 3.工厂方法模式 3.1.工厂方法模式的 ...

  3. Spring常用到的几种设计模式--工厂模式

    一.工厂模式 工厂模式核心思想:只关心结果,隐藏复杂的过程 二.简单的工厂模式 BaoMa /** Copyright (C), 2013-2019, 天津大海云科技有限公司*/ package co ...

  4. 23种设计模式——工厂模式+适配器模式实战

    一.简介 业务需求,需要对不同的浏览器返回不同的url地址. 例如: Chrom浏览器返回:'http://www.chrom.com', IE浏览器返回:'http://www.ie.com' 二. ...

  5. 慕课网----大话PHP设计模式 三(三种基本设计模式-工厂模式,单例模式,注册树模式)

    1)工厂模式: 工厂方法或者类生成对象,而不是代码中直接new 多用来生成对象 好处.如果很多个文件都使用了这个类的话,如果修改需要去每个文件下都进行修改,而使用工厂模式的话,则只用在类里面修改创建方 ...

  6. 常用的几种设计模式详解

    设计模式的概述 设计模式分类 创建型模式 特点是将对象的创建与使用分离(解耦),有 单例.原型.工厂方法.抽象工厂.建造者等5种. 结构型模式 用于描述如何将类或对象按某种布局组成更大的结构,代理.适 ...

  7. PHP最常用的几种设计模式

    [TOC] PHP最常用的几种设计模式 单例模式 工厂模式 适配器 注册树 观察者模式 策略模式 单例设计模式 所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中! ...

  8. C++常用的11种设计模式解释及示例

    c++常用的设计模式包括单例模式.工厂模式.抽象工厂模式.适配器模式.装饰者模式.代理模式.外观模式.桥接模式.组合模式.享元模式.观察者模式和命令模式等.使用设计模式的好处:提高代码的可读性和可维护 ...

  9. java二十三种设计模式——工厂设计模式

    java设计模式的分类 在java中,设计模式有三十三种之多,分为三大类: 创建性模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构性模式,共七种:适配器模式.装饰器模式 ...

最新文章

  1. openmv4闪灯说明_OpenMV Cam
  2. Linux常用命令:cp,mv,rm
  3. Java传统的io和nio区别_Java中IO和NIO的本质和区别
  4. 【LeetCode从零单排】No 3 Longest Substring Without Repeating Characters
  5. 比特币拒绝第 340 次“被死亡”
  6. SQL Server 2005 Compact Edition 程序设计与性能优化
  7. linux26内核,Linux26内核对象机制研究.pdf
  8. git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)
  9. 学习Oracle SQL loader 的使用
  10. poj 1182 食物链的一种解法(详解),非向量法
  11. 图纸怎么发给别人_微信语音怎么转发?微信语音转发给别人最新办法10秒解决...
  12. 电子计算机音乐乐谱aliez,aLIEz(核爆神曲)吉他谱(图片谱,指弹)_泽野弘之(澤野弘之 / さわの ひろゆき / Hiroyuki Sawano)...
  13. mysql 1236_MySQL 1236错误解决方法
  14. Python爬虫(1)
  15. 洛谷 P1039 侦探推理 题解
  16. Lombok使用以及优缺点
  17. 铁威马NAS媒体索引设置教程
  18. 2PC、3PC、TCC
  19. 程序员不得不写得(一):Eclipse, VS.net, CSharpDevelope
  20. python求f的倒数_Python中整数的倒数

热门文章

  1. 求连续区间和为目标值的一种解题思路
  2. 入侵检测技术目的-发现黑客
  3. 最小树形图(bzoj 4349: 最小树形图 2260: 商店购物)
  4. HDU 5979 2016ICPC大连 I: Convex
  5. opencv 图像融合
  6. 多项式之和 Sn=a+aa+aaa+aaaa+.....+aaa.....aa(n个a)
  7. 微服务架构系列文章、精品教程
  8. zookeeper教程,docker 安装,命令,python操作zookeeper,分布式队列,分布式锁
  9. (二)PyQt5基础学习
  10. 自然场景下文本检测主要数据集