开发手册 欢迎您!
软件开发者资料库

PHP - 设计模式

PHP设计模式 - 一个简单而简短的PHP教程和所有内置PHP函数的完整参考手册。本教程是为初学者和高级开发人员设计的。您将学习PHP内置函数,预定义变量示例,面向对象的PHP,数字,标量,数组,散列文件I / O,IF,ELSEIF,执行,循环,运算符,正则表达式,GET,POST,子程序,编码标准,模块,文件管理,套接字通信,参考,特殊变量,语法概述,表单验证,高级PHP,库,Web设计,PayPal集成,MySQL登录,Ajax搜索,Ajax XML解析器,Ajax自动完成搜索,Ajax RSS源例如,XML简介,简单XML,简单XML GET,SAX解析器示例,DOM解析器示例,框架工作,核心php vs框架工作php,设计模式。

Microsoft设计模式理论是,"该文档引入模式,然后将它们呈现在存储库或目录中,其组织有助于找到解决问题的正确模式组合".

设计模式示例

Singleton

一个类有一个实例,它提供了一个全局访问点,下面的代码将解释关于单身概念.

基于静态方法创建实现的上述示例是getInstance()

Factory

A Class Simple创建对象并且您想要使用该对象,下面的示例将解释工厂设计模式.

bikeMake = $make;         $this->bikeModel = $model;      }            public function getMakeAndModel() {         return $this->bikeMake . ' ' . $this->bikeModel;      }   }      class AutomobileFactory {      public static function create($make, $model) {         return new Automobile($make, $model);      }   }      $pulsar = AutomobileFactory::create('ktm', 'Pulsar');   print_r($pulsar->getMakeAndModel());      class Automobile {      private $bikeMake;      private $bikeModel;            public function __construct($make, $model) {         $this->bikeMake = $make;         $this->bikeModel = $model;      }            public function getMakeAndModel() {         return $this->bikeMake . ' ' . $this->bikeModel;      }   }      class AutomobileFactory {      public static function create($make, $model) {         return new Automobile($make, $model);      }   }   t$pulsar = AutomobileFactory::create('ktm', 'pulsar');      print_r($pulsar->getMakeAndModel()); ?>

工厂模式的主要困难是它会增加复杂性,对于优秀的程序员来说这是不可靠的.

策略模式

策略模式生成一个族算法并封装每个算法.这里的每个算法都应该在系列内互换.

 2,         'date' => '2011-01-01',      ),      array(         'id' => 1,         'date' => '2011-02-01'      )   );      $collection = new ObjectCollection($elements);      $collection->setComparator(new IdComparator());   $collection->sort();      echo "Sorted by ID:\n";   print_r($collection->elements);      $collection->setComparator(new DateComparator());   $collection->sort();      echo "Sorted by date:\n";   print_r($collection->elements);?>

模型视图控件

视图充当GUI,模型充当后端,控制充当适配器.这里三个部分相互连接.它将传递数据并相互访问数据.

模型视图控件