2014-07-24 112 views
0

我最近研究了可观察模式,并且理解事物如何工作和概念。我在应用程序中也玩过它,但我想知道如何在使用PHP应用程序时使用它,因为这是我的主要目的。带有观察者模式的插件

直到现在我还没有找到任何体面的例子。我想了解使用observable制作插件的概念,并且一个好的和简单的例子会很好。

通过制作一个插件我的意思是有一个标准的应用程序,并希望为每个客户端做一些特定的东西,因为不是所有的客户端都要求相同的东西,我不能给他们所有的相同的应用程序,制作一个标准的应用程序并为每个客户端进行配置,我知道这样的东西被称为插件,可以通过观察者来完成。

回答

0

如果您想根据用户或应用程序/服务操作实施某种自定义触发器/操作,Observer/Observable模式将非常合适。

例如,身份/认证服务可能会使用某种观察者的,让当一些用户进行身份验证,或者一些用户已注册第三方插件做一些实现可插入式架构......

它也应该在用户界面中工作,因为您可能能够显示菜单或基于用户交互添加一些可视化组件。

0

如果你想制作一个非常免费的基于插件的应用程序,你可能想要做一个稍微不同的版本。

实施集中式事件控制。

每个插件(作为您的控制器)在那里注册以通知某些事件。

现在,如果您想访问某些功能,只需通过该中央事件控件调度特定事件即可。您不再需要知道哪个插件会响应您的事件,您只需要知道该事件的界面以及您将获得的响应形式。

现在多个插件可以注册一个事件,覆盖或扩展其他插件的结果。或者只是允许全新的事件。

这个应用程序结构需要一点耐心来正确创建所有需要的类,但最终产品是非常分离的 - >灵活。把它看作MVC的一种形式,控制器不需要彼此了解,他们只是知道在哪里以非常通用的形式提问。

(听说Zend2尝试类似的做法?)

+0

谢谢你,让有些事情我不清楚,但我不这么先进的应用网络,因为我最近开始,我仍然无法理解一些事情,可能你给我一个从你想要一些功能的标准应用程序中添加她的路径的小例子,看看事情的顺序? –

+0

这远远超过了这个聊天。你真的应该找一些关于这个主题的书。我会选择“头等头”系列,他们有一本关于模式的非常好的和简单的书。 http://www.headfirstlabs.com/books/hfdp/ – ToBe