observer-pattern相关内容
我正在考虑使用 GWT 根据 MVP 模式实现用户界面,但对如何进行有疑问. 这些是我的(部分)目标: 演示者对 UI 技术一无所知(即未使用 com.google.* 中的任何内容) 视图对演示者一无所知(尚不确定我是否希望它与模型无关) 模型对视图或演示者一无所知(......显然) 我会在视图和演示者之间放置一个接口,并使用观察者模式将两者解耦:视图生成事件并通知演示者
..
有没有用 Python 实现的 GoF Observer 的示例?我有一个位代码,目前有一些调试代码通过关键类(如果设置了魔法环境,当前生成到 stderr 的消息).此外,该类有一个接口,用于增量返回结果以及将它们存储(在内存中)以进行后期处理.(该类本身是一个作业管理器,用于通过 ssh 在远程机器上并发执行命令). 目前该类的用法类似于: job = SSHJobMan(hostli
..
我有一个控制器和一个带有许多孩子的视图,带有孩子的孩子.示例:JPanels 中的 JPanel 具有用于控制器传递给模型的按钮和字段. 我目前的做法是在具有动作侦听器的视图中实例化“控制器"并访问我的单例模型.这有效 - 但它绝对不是 MVC. 那么问题是——我该怎么做? 是从控制器进行菊花链的唯一方法:mainview.getSubView().getSubView().ge
..
观察者模式、发布/订阅和 解决方案 以下是我对这三个方面的看法: 数据绑定 本质上,从本质上讲,这只是意味着“对象 Y 上的属性 X 的值在语义上绑定到对象 B 上的属性 A 的值.没有假设 Y 如何知道或馈送对象 B 上的更改. 观察者,或可观察者/观察者 一种设计模式,通过该模式,对象能够将特定事件通知其他人 - 通常使用实际事件完成,这些事件有点像对象中具有特
..
我最近开始深入研究 C#,但我一生都无法弄清楚在语言中实现观察者/可观察模式时委托是如何工作的. 谁能给我一个超级简单的例子来说明它是如何完成的?我已经在谷歌上搜索了这个,但我发现的所有示例要么过于针对特定问题,要么过于“臃肿". 解决方案 观察者模式通常使用 事件. 这是一个例子: 使用系统;可观察类{公共事件 EventHandler 发生了一些事情;public voi
..
我正在我的模型观察器中设置 after_save 回调,以便仅在模型的 published 属性从 false 更改为 true 时发送通知.由于诸如 changed? 之类的方法仅在保存模型之前有用,因此我目前(但未成功)尝试这样做的方式如下: def before_save(博客)@og_published = blog.published?结尾def after_save(博客)如果@og
..
我有一个模块可以监听一些事件.它至少在我测试过的十几种安装中都运行良好. 在特定安装上,我安装了它的客户端,在 Magento 版本 1.4.1.1 上,它不起作用.当我测试他的系统并手动触发事件时,例如 Mage::dispatchEvent('..') 观察者确实会监听它们. 我应该注意什么?我不知道这可能是什么原因. 解决方案 发生这种情况的原因有几个 您尝试侦听的
..
当产品从购物车中移除时,是否有可用于观察事件的观察器?我没有找到. 我发现的是 checkout_cart_update_items_after 可以在通过更改产品数量删除产品时使用它,但在用户使用删除按钮时则不能使用.我目前看到的唯一替代方法是 checkout_cart_save_after,它在购物车发生变化时使用.当然,这需要自定义逻辑来检查删除了哪个产品.不完美. 那么有没有
..
您好,在 Magento 中,一旦订单被设置为处理(通过网关确认或手动),我想触发一个事件,例如:如果普通客户(id 1)花费超过 100 美元并且付款已被确认,将他的组ID设置为4(银VIP,根据促销规则在全球获得2%的折扣)我会为此悬赏,但我希望在 2 天前得到答案 O_o 编辑:到目前为止我收到的答案只是部分答案,而且我发现链接非常混乱,我不清楚什么是最小设置,我必须配置什么创建等..
..
我在 magento 中使用 customer_save_after 事件,除了 1 件烦人的事情之外,一切正常 - 它总是被触发两次. 没有其他模块重写这个,我找不到其他原因导致这种情况发生.当我查看此时被触发的所有事件时,该事件肯定会被触发两次. 有人解释一下吗? 我正在编写一个与此挂钩的 Web 服务,但结果证明复制内容非常低效. 解决方案 我也注意到了这种双重保存
..
我希望能够在 客户注册 帐户时使用我正在构建的 模块 运行一些功能,但我似乎找不到任何在新客户注册时触发的事件. 有人知道为此调度的 event 吗? 解决方案 这个问题的答案是没有事件.
..
收听文件夹或文件以查看是否已保存或是否添加了新文件的最佳方法是什么? 解决方案 如果您只想查看目录但不处理单个文件的监视,FSEvents API 是理想的选择.Stu Connolly 为 FSEvents C API 提供了一个很棒的 Objective-C 包装器,它称为 SCEvents,您可以在此处获取: http://stuconnolly.com/blog/sceven
..
每当在我的应用上发送电子邮件时,我都想运行一些代码. 由于 ActionMailer 不支持 after_filter,我想使用观察者. Rails 文档顺便提到了这一点,但没有详细说明. 谢谢! 解决方案 我很惊讶 Rails 的文档中很少有这方面的内容. 基本上,Rails 3 中的 ActionMailer 引入了 Interceptors(在发送消息之前调用
..
我想创建名为 user_logged 的自定义事件,以便我可以将我的侦听器附加到这些事件. 我想在用户登录时执行一些功能. 解决方案 创建一个扩展 Symfony\Component\EventDispatcher\Event 的类. 然后,使用事件调度器服务来调度事件: $eventDispatcher = $container->get('event_dispatcher
..
如此处所述,在 Swing 的上下文中,GUI 设计经常使用 观察者模式.经常使用中规定的方案EventListenerList,有没有Java FX的例子,比如Converter,专注于模式本身? 解决方案 如此处所述,JavaFX 架构倾向于支持通过实现 的类绑定 GUI 元素Observable 接口.为此,Irina Fedortsova 改编了原始的Converter JavaF
..
我正在尝试在 Angular 中实现诸如委托模式之类的东西.当用户单击 nav-item 时,我想调用一个函数,然后该函数发出一个事件,该事件又应由其他侦听该事件的组件处理. 这里是场景:我有一个 Navigation 组件: import {Component, Output, EventEmitter} from 'angular2/core';@成分({//为简洁起见省略了其他属性事
..
我正在使用 Transformations.switchMap 在我的 ViewModel 中,所以我的 LiveData 集合,在我的片段中观察到,对 code 参数的变化做出反应. 这很完美: public class MyViewModel extends AndroidViewModel {私人最终 LiveData日价格;私有最终 MutableLiveData代码 = 新的 M
..
面试官问我: 什么是Observer 和Observable,我们应该在什么时候使用它们? 我不知道这些术语,所以当我回到家开始谷歌搜索 Observer 和 Observable 时,我从不同的资源中发现了一些要点: 1) Observable 是一个类和 Observer 是一个接口. 2) Observable 类维护了一个 Observer 的列表. 3) 当一个
..
在我的应用程序中,我想在用户登录后使用用户名的昵称和电子邮件更新导航抽屉. 从我的 MainActivity 我开始一个 LoginActivity 与 startActivityForResult(intent, PICK_ACCOUNT_REQUEST); 方法让用户注册或登录. LoginActivity 将Intent data 结果(他的NAME 和EMAIL)返回给 后Ma
..
我们有一些 API 集成,可以定期为订单创建发货. 我想做的是创建一个观察者来创建一个合适的发票 &创建此货件时捕获付款.我将此与 sales_order_shipment_save_after 相关联: public function autoInvoice($observer){$shipment = $observer->getEvent()->getShipment();$orde
..