注册表设计模式在PHP中是一个很好的解决方案吗?注册表设计模式有什么不好吗?
对于社交网站(脸书,myspace)。
比方说,我有一个数据库类创建一个单一的数据库连接,让我做数据库的东西和一个会议类,它可以让我处理会议以及缓存类,让我缓存项目和检索他们。这是我需要在我的网站的每个页面上访问的3个主要类。在回顾过去一小时的注册表模式之后,我认为它可能是完美的解决方案。我可以将数据库,会话和缓存对象存储到注册表对象中,然后将注册表对象注入到每个页面或每个其他类中,并可以访问我的数据库,会话和缓存。
在此之前,我使用的是单例模式,所以我将不得不为每个页面或其他类中的所有3个主类调用单例方法。
所以我只是想知道是否有使用注册表类的任何垮台? 1,我可以看到,看起来可能很难看出哪些类取决于哪些其他类和类。除此之外,它似乎是一个很好的解决方案,我还看到另一篇文章在用户的注册表类中,他们在注册表中存储设置,在注册表对象传入的所有其他类中访问它们,我相信我会很好地发现这个功能。
所以这里唯一的问题是我错过了什么,或者我只是热的乐透?
UPDATE
此外,如果使用注册表来存储对象,我应该做这样的事情...
$this->session = $registry->getObject('session');
或这个代替
$this->registry->session = $registry->getObject('session');
第二种方法似乎可能是简单的低估以及对象来自哪里?
很好的建议,我喜欢$ registry-> getSession();方法我只是有另一种方式,使其更加动态和能够设置和反对注册 – JasonDavis 2010-01-20 03:26:46