您的位置:首页 > 编程语言 > PHP开发

php设计模式——单例模式(Singleton)

2015-09-05 21:27 281 查看
二十三种设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

谷歌的Android设备

华为的Android设备

IOS只属于苹果公司

IOS只属于苹果公司

<?php

/*
* php设计模式——单例模式(Singleton)
*/

/*
* Android厂商
*/

class Android{

private $strName = "";

public function __construct($strName=""){
$this->strName = $strName;
}

public function setName(){
$strApp = $this->strName."的Android设备";
return $strApp;
}
}

/*
* 苹果厂商
*/

class IOS{

private $strName = "";

//禁止引用

private static $instance= NULL;

//私有构造函数,防止被实例化。

private function __construct($strName=""){
$this->strName = $strName;
}

//创建实例

public static function getInstance($strName=""){
if (self::$instance == NULL) {
self::$instance = new IOS($strName);
}
return self::$instance;
}

public function setName(){
$strApp = "IOS只属于".$this->strName."公司";
return $strApp;
}
}
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>mvc</title>
<script type="text/javascript" src="js/jquery.js"></script>
<style>
* {
margin: 0;
padding: 0;
border: 0;
}
</style>
</head>
<body>
<div>
<?php
$google = new Android("谷歌");
echo "<p>".$google->setName()."</p>";

$huawei = new Android("华为");
echo "<p>".$huawei->setName()."</p>";

//第一次实例化

$apple = IOS::getInstance("苹果");
echo "<p>".$apple->setName()."</p>";

//第二次调用

$samsung = IOS::getInstance("三星");
echo "<p>".$samsung->setName()."</p>";
?>
</div>
</body>
</html>

<script type="text/javascript">
</script>


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: