PHP 单例模式 工厂模式 策略模式代码理解
来源:互联网 发布:旗宇cms网站管理系统 编辑:程序博客网 时间:2024/05/17 03:06
//单个类 单例<?php/***单例模式:一个类只能有一个对象*三私一公*/class MySQLDB {private static $instance;//私有的成员用来保存类的实例private function __construct() {//私有的构造函数阻止在类的外部实例化}private function __clone() {//私有的__clone()阻止clone对象}public static function getInstance() {//公有的方法用来获取类的实例if(!self::$instance instanceof self )self::$instance=new self;return self::$instance;}}$db1=MySQLDB::getInstance();$db2=MySQLDB::getInstance();var_dump($db1,$db2);//项目层面单例封装<?phpclass DB1 {}class DB2 {}class DB3 {}function getInstance($db_name) {static $array=array(); //通过数组来保存类的单例if(!isset($array[$db_name]))$array[$db_name]=new $db_name;return $array[$db_name];}$db1=getInstance('DB1');$db2=getInstance('DB2');$db3=getInstance('DB3');var_dump($db1,$db2,$db3); //object(DB1)#1 (0) { } object(DB2)#2 (0) { } object(DB3)#3 (0) { } //=========工厂模式<?phpheader('content-type:text/html;charset=utf-8');abstract class Product {abstract public function getName();}class ProductA extends Product {public function getName() {echo '这是A商品<br>';}}class ProductB extends Product {public function getName() {echo '这是B商品<br>';}}//工厂模式class ProductFactory {public static function create($num) {switch($num) {case 1:return new ProductA();case 2:return new ProductB();}return null;}}//传递不同的参数获取不同的对象$obj=ProductFactory::create(1);$obj->getName(); //这是A商品$obj=ProductFactory::create(2);$obj->getName(); //这是B商品//=======策略模式<?phpheader('content-type:text/html;charset=utf-8');interface IStrategy {function ontheway();}class Walk implements IStrategy {public function ontheway() {echo '走着去<br>';}}class Bick implements IStrategy {public function ontheway() {echo '骑自行车去<br>';}}class Bus implements IStrategy {public function ontheway() {echo '坐巴士去<br>';}}//策略模式,传递不同的参数,调用不同的策略class Strategy{public function getWay(IStrategy $obj) {$obj->ontheway();}}$obj=new Strategy();$obj->getWay(new Walk); //走着去$obj->getWay(new Bick); //骑自行车去$obj->getWay(new Bus); //坐巴士去
阅读全文
0 0
- PHP 单例模式 工厂模式 策略模式代码理解
- php设计模式--单例,工厂,观察者,策略模式
- PHP工厂策略模式
- PHP单例模式与工厂模式
- PHP (单例模式与工厂模式)
- php-单例模式和工厂模式
- PHP工厂模式和单例模式
- php设计模式工厂模式及单例模式
- php设计模式-单例模式-工厂模式
- php中的工厂模式、单例模式、注册模式
- 工厂模式-单例模式
- 单例模式、工厂模式
- 工厂模式、单例模式
- 单例模式/工厂模式
- 工厂模式&&单例模式
- 单例模式&工厂模式
- 单例模式工厂模式
- 单例模式&工厂模式
- MySql数据库-05DCL数据控制语言
- IntelliJ IDEA 常用快捷键列表及技巧大全
- 把你的OnCreate藏起来,一句话初始化,开源中国的小技巧
- H5-HTTP状态码知道哪些?
- 如何用约束设置UITableView的tableHeaderView,其中tableHeaderView的高度是动态变化的
- PHP 单例模式 工厂模式 策略模式代码理解
- HTML 框架
- 实现div毛玻璃背景
- NSObject
- 学习kotlin
- Java中关于WeakReference和WeakHashMap的理解
- Hibernate关联关系之单向主键一对一
- ubuntu系统下安装anaconda2并配置tensorflow环境及jupyter notebook工具远程登陆来开发用于深度学习环境
- html 画中画