标签:
二十三种设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
谷歌的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>
标签:
原文地址:http://www.cnblogs.com/yuge790615/p/4783977.html