PHP设计模式笔记三:三种基本设计模式(工厂模式、单例模式、注册树模式) -- Rango韩老师 http://www.imooc.com/learn/236

一、工厂设计模式

  index.php

  $db = IMooc\Factory::createDatabase();

  使用工厂类的静态方法直接创建一个dababase对象,当类名发生修改时,在工厂里修改即可。

  IMooc/Factory.php

  

二、单例设计模式

  保证在整个脚本运行期间,只有一个对象的实例,比如数据库操纵对象

  Database.php

  

  Factory.php

  

  index.php

   

  output同一个对象;

  object(IMooc\Database)#1 (0) { }

  object(IMooc\Database)#1 (0) { }

  object(IMooc\Database)#1 (0) { }

 

三、注册树模式

  将对象注册到全局的注册树上,一般是在环境初始化时,将对象注册,在实现业务逻辑时,直接get获取即可;

  注册树类Register.php

  

  在工厂类里进行注册,将$db注册到$register注册树上

  

  在index.php中调用createDatabase进行注册

  

  output:object(IMooc\Database)#1 (0) { }

 

posted @ 2016-12-11 11:28  少年飞刀  阅读(339)  评论(0编辑  收藏  举报