1 2 3 4 5 6 7 8 9 10 下一页 我们通常认为避免使用全局变量是一种好的选择,因此,对象经常被作为参数从一段代码传递到另一段。但是传递实例的一个问题就是对象有时候不知道将要传递给谁——?经过一个函数后才被传递到真正需要这个对象的函数。 为了编写,阅读,修改代码的方便,最好能够减少不同对象的数量,并且能够将大量广泛使用的对象统一表示为一个单一,常用的对象。 问题: 你如何通过单一的全局的对象来获取对其它对象的引用? 解决方案: “注册模式”就像“对象的电话簿”——储存并且能够取回对对象引用的登记簿。(注:PHP中的“联合数组”也起到了类似“电话簿”的功能。事实上,“注册模式”就是围绕PHP中强大的数组完成的。)“注册模式”的一些特性经常被包含在“单一模式”中(参见第四章),使得“注册模式”成为你整个应用信息的决定性来源。 注释:“注册模式”类主要参考了Martin Fowlerdescribes用Java语言实现的Patterns of EntERPrise Application Architecture(企业应用程序体系结构模型)。Marcus Baker谢了一篇详细的PHP中应用“注册模式”的文章。该文章可在PHPPatterns.com的站点获的(http://www.PHPpatterns.com/index.PHP/article/articleview/75/1/1/)。Baker也涉及了一些测试considerations,示范了测试驱动的开发方法。 样本代码: 正如Martin Flower在他的“注册模式”一文中提及的样本代码所示,你可以用各种方法,提供各种接口实现“注册模式”。让我们仔细探究这种想法,并建立PHP4中的“注册模式”的一些不同实现。 (责任编辑:admin) |