设计模式是面向对象程序设计中的“常见任务”中的代码模式的经验总结
说白点就是解决问题的代码套路
代码说话:
<?php
/*
简单工厂模式:
使用工厂类生产各种类的对象
*/
class Examp1{
}
class Examp2{
}
class Factory{
static function getObj($class_name){
return new $class_name();
}
}
$a1 = Factory::getObj("Examp1");
$a2 = Factory::getObj("Examp2");
var_dump($a1);var_dump($a2);
/**
* 单例模式:
* 只要一个对象就能完成所有功能,多了就会浪费资源,,比如数据库连接
*/
class Single{
private static $instance = null;
//1.设置构造函数的方法为private
private function __construct(){
}
//2.提供外部访问函数
public static function getInstance(){
if(self::$instance!=null || self::$instance instanceof self){
return Single::$instance;
}else{
self::$instance = new self();
return self::$instance;
}
}
}
$obj1 = Single::getInstance();
$obj2 = Single::getInstance();
var_dump($obj1);var_dump($obj2);