码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-09-05 22:19:31      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

二十三种设计模式分为三大类:

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

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

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

 

谷歌的Android设备

华为的Android设备

IOS只属于苹果公司

IOS只属于苹果公司

技术分享
 1 <?php
 2 
 3 /*
 4  * php设计模式——单例模式(Singleton)
 5  */
 6 
 7 /*
 8  * Android厂商
 9 */
10 
11 class Android{
12     
13     private $strName = "";
14     
15     public function __construct($strName=""){
16         $this->strName = $strName;
17     }
18     
19     public function setName(){
20         $strApp = $this->strName."的Android设备";
21         return $strApp;
22     }
23 }
24 
25 /*
26  * 苹果厂商
27 */
28 
29 class IOS{
30 
31     private $strName = "";
32     
33     //禁止引用
34     
35     private static $instance= NULL;
36     
37     //私有构造函数,防止被实例化。
38     
39     private function __construct($strName=""){
40         $this->strName = $strName;
41     }
42     
43     //创建实例
44     
45     public static function getInstance($strName=""){
46         if (self::$instance == NULL) {
47             self::$instance = new IOS($strName);
48         }
49         return self::$instance;
50     }
51 
52     public function setName(){
53         $strApp = "IOS只属于".$this->strName."公司";
54         return $strApp;
55     }
56 }
57 ?>
58 
59 <html>
60 <head>
61 <meta http-equiv="content-type" content="text/html;charset=utf-8">
62 <title>mvc</title>
63 <script type="text/javascript" src="js/jquery.js"></script>
64 <style>
65 * {
66     margin: 0;
67     padding: 0;
68     border: 0;
69 }
70 </style>
71 </head>
72 <body>
73 <div>
74 <?php 
75 $google = new Android("谷歌");
76 echo "<p>".$google->setName()."</p>";
77 
78 $huawei = new Android("华为");
79 echo "<p>".$huawei->setName()."</p>";
80 
81 //第一次实例化
82 
83 $apple = IOS::getInstance("苹果");
84 echo "<p>".$apple->setName()."</p>";
85 
86 //第二次调用
87 
88 $samsung = IOS::getInstance("三星");
89 echo "<p>".$samsung->setName()."</p>";
90 ?>
91 </div>
92 </body>
93 </html>
94 
95 <script type="text/javascript">
96 </script>
View Code

 

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

标签:

原文地址:http://www.cnblogs.com/yuge790615/p/4783977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!