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

PHP中应用Service Locator服务定位及单例模式

时间:2014-11-08 11:45:41      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:sp   代码   bs   应用   学习   程序   php   nbsp   c   

单例模式将一个对象实例化后,放在静态变量中,供程序调用。

服务定位(ServiceLocator)就是对象工场Factory,调用者对象直接调用Service Locator,与被调用对象减轻了依赖关系,这样如果被调用对象更换时,直接修改ServiceLocator的注册即可,不用修改程序中很多个地方的调用,从而减轻依赖关系。

我在学习单例模式的思路时,有一个疑问总是围绕着自己,单例模式就是静态变量呗,为什么要叫单例模式,有什么好处?静态类+静态方法不是很好?

当我学习了ServiceLocator后者明白,单例模式是一个对象放在静态变量中,这样可以减轻程序的耦合度,因为这个对象是很容易更换成另一个对象,而静态类直接调用就不行了。

哪么ServiceLocator如何实现呢,下面代码举例说明。

自己实现ServiceLocator 

 

 

YII2框架中的ServiceLocator

 

总结

 

PHP中应用Service Locator服务定位及单例模式

标签:sp   代码   bs   应用   学习   程序   php   nbsp   c   

原文地址:http://www.cnblogs.com/a-xu/p/4082829.html

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