Zend Framework FrontController实现了Singleton,而且它有一种插件“范例”, - 它的架构背后的想法是什么,也许它实现了一些众所周知的范例?如果是这样,那么如果你可以提供一些链接指示,我可以找到有关提出这种特定范式的原因的信息?
答案 0 :(得分:8)
FrontController的基本思想是为您的应用程序提供单一的入口点。
引用PoEAA:
Front Controller通过单个处理程序对象引导请求来整合所有请求处理。此对象可以执行常见行为,可以在运行时使用装饰器进行修改。然后,处理程序将调度命令对象以获取特定于请求的行为。
进一步的定义:
另见chapter in the reference guide about the Front Controller:
Zend_Controller_Front实现»模型 - 视图 - 控制器(MVC)应用程序中使用的»前端控制器模式。其目的是初始化请求环境,路由传入请求,然后分派任何发现的操作;它聚合任何响应并在过程完成时返回它们。
关于成为单身人士
Zend_Controller_Front还实现了»Singleton模式,这意味着在任何给定时间只能使用它的单个实例。这使它也可以作为调度过程中其他对象可以绘制的注册表。
有关Singleton和Registry模式的一般定义,请参阅:
关于可插拔
Zend_Controller_Front向自己注册一个插件代理,允许插件观察它触发的各种事件。在大多数情况下,这使开发人员有机会定制调度过程到站点,而无需扩展前端控制器来添加功能。
如何详细解释Zend Framework如何使用Front Controller以及在MVC rquest期间发生的事情可以在以下网址找到: