observer-pattern相关内容
我想在使用 animateWithDuration:delay:options:animations:completion: 进行动画处理时观察 UIView 原点 x 坐标的变化.我想在此动画期间在粒度级别跟踪 x 坐标的变化,因为我想更改与正在动画化的视图可能接触的另一个视图的交互.我想在确切的联系点进行更改.我想了解在更高级别执行此类操作的最佳方法: -- 我应该在联系点的完成回调中使
..
我想知道使用什么模式,如果我需要我的服务在控制器、指令等之间共享它的动态数据.我提到动态的原因是因为我想加载新数据和这些数据需要在任何其他控制器、指令等中可用.例如,如果指令生成 UL LI,如果服务内部的数据发生变化,则必须重新生成它! 我最初打开了以下(How在服务中创建 reset() 方法返回承诺? ),有人指出我应该使用观察者模式.我非常感激,我很快就写了这篇文章,因为我需要做的事
..
我正在阅读一些文章以进一步了解 AngularJS 的工作原理. 我不理解的术语之一是Dirty Checking. 究竟是什么?看起来像观察者模式,但显然更好. 你能帮我理解一下吗? 编辑:对于想要了解更多信息的人观看此视频也很有用 来自几年前 NgEurope 的 swiip. 解决方案 来自 此链接: Angular 定义了一个所谓的摘要的概念循环.这个
..
在父子关系中的组件之间共享数据的过程在 React 文档中有详细记录并直接处理.不太明显的是如何在不共享子父关系的组件之间共享状态和任意数据的公认方式.Flux 是作为解决方案提供的,过去我已经推出了自己的发布/订阅系统,但在这个领域的 reactjs 开发人员之间似乎仍然存在很大分歧.RxJS 已作为解决方案提供,并且观察者模式有许多变体,但我想知道是否有更规范的方法来管理这个问题,尤其是在组件
..
我有与 Subject() 连接的服务来进行分页.我正在使用 next(newData) 传递给主题,这使事情保持活力,现在我需要在每个 ajax 调用中使用 complete() 并将其传递给主题.但是在做了一个 complete() 之后,我开始出现错误. 我想知道,如果 completed() 已经被触发,我们是否仍然可以通过 Subject observables 仍然 next(n
..
我正在尝试重写我们的Observer/Observable实现,以使用std :: shared_ptr/std :: weak_ptr摆脱代码中当前存在的某些讨厌的竞争条件. 通常,观察者在满足某些条件时或在构造子对象时进行注册,例如: //以前是原始的'this',现在,子级派生weak_ptr并将其存储子> addObserver(shared_from_this()) 然后像下
..
假设我有一个班级广播员来广播某些事件.例如: List观察者=…公共无效广播(事件e){对于(每个观察员:观察员){观察者.观察(e);}} 然后我有一个名为EventReceiver的类,它可以完成以下操作 public void processEvent(Event e){saveToDatabase(e);广播(e);} 现在:出现了一个新要求,即当E
..
我想问当我需要实现这样的目标时应该如何正确实现观察者模式: WeatherStation [温度,湿度...] ,我需要能够“观察"每个属性独立.因此,当温度变化时,只会通知温度观测者,而当湿度变化时,只会通知湿度用户. 我的想法是,我将创建一些类,例如ObservableTemperature和接口TemperatureObserver,但是通过这种方式,我将不得不创建两个"cla
..
我问了此处当我需要通知 对象 的特定属性发生变化时,em> 观察者 . 我收到关于 GoF 的非常好的回复,写在: Blockquote明确指定感兴趣的修改.您可以通过扩展主题的注册界面以仅针对感兴趣的特定事件注册观察者来提高更新效率.当发生此类事件时,主题仅通知那些对该事件具有浓厚兴趣的观察者.一种支持此方法的方法是使用Subject对象的方面概念.为了引起对特定事件的兴趣,观察员使
..
我想在Python中有一些可观察的集合/序列,使我能够侦听变更事件,例如添加新项目或更新项目: list = ObservableList(['a','b','c'])list.addChangeListener(lambda new_value:print(new_value))list.append('a')#=>应该触发附加的变更监听器data_frame = ObservableDat
..
最近有人问我,观察者OO设计模式中的回调和观察者之间有什么区别.我的理解是,回调是作为参数传递给函数的任何可执行代码,当特定事件发生时,该函数将被调用.它可以用不同的编程语言以不同的形式实现,例如面向对象范式中的函数指针,匿名函数和观察者/侦听器. 开发人员通常与代码执行同步实现回调注册,并且仅支持一个回调,而观察者/监听者的回调注册始终与代码执行异步,并且支持多种注册. 但是,我认为
..
var f = function(){//在这里做一些有用的事情}; 有没有一种方法可以“观察"此功能,并在执行该功能时得到通知?类似于jQuery中的 bind ,但是我想 bind 函数而不是dom事件? 我不想要这样的东西: var f = function(){//在这里做一些有用的事情notifyObserver();}; 但我想要是这样的: f.bind(fun
..
我一直在研究Observables及其与EventEmitter的区别,然后偶然发现Subjects(我可以看到Angulars EventEmitter基于). Observables似乎是单播,而多播的主题(然后EE只是将.next封装在emit中以提供正确接口的主题). 可观察对象似乎很容易实现 class可观察的{构造函数(订阅){this._subscribe =订阅;}
..
上下文: 我正在尝试使用一流的模块在OCaml中实现类似OOP的可观察模式.我有一个包含模块列表的项目,并希望通过观察扩展它们而无需更改.为了最大程度地减少代码重复,我创建了 Subject 模块,并计划将其用作此扩展的通用方式的一部分(在项目上下文中).我声明了三种模块类型: 观察者: module type OBSERVER = sig type event type
..
我正在建模一个存在以下情况的情况: NotificationBox :观察者 list1 , list2 , list3 :主题 现在,我将使用观察者模式制作一张图,描述每个列表实现不同类型的notify()的事实(例如,列表状态的某些更改仅需要通知给某些观察者,而某些 我做了类似的事情: 在这种情况下,每个主题都覆盖了notify方法,以便仅根据某些标准来通知观察者的某
..
在尝试使用要注册到观察者的类中的共享指针时,我遇到了问题. Observer.hpp class Observer { virtual void update() = 0; } Consumer.hpp class Consumer : public Observer { virtual void update() override; } Consumer.cpp
..
使用ViewModels时,View会观察ViewModel.它必须注册为观察员.在Google的官方教程中,此注册委托给 LiveData对象的方法. public class MyViewModel extends ViewModel { private MutableLiveData> users; public LiveData
..
当我尝试根据来自服务器的数据更新客户端视图时,我的Observer模式出现问题. 将消息发送到客户端的代码: package model; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; im
..
我试图理解观察者模式,并停留在某一特定点.以我的理解,一旦观察者订阅了任何事件更改以通知他们,则该订阅存储在某个地方,然后在事件更改时通知订阅者. 在实际情况下,出于持久性原因,我应该将值存储在数据库或文件中,并在事件发生时通过从db获取并遍历列表来通知它们. 这是正确的理解吗?我看不到任何涉及数据库的示例,但是每个示例都使用列表. 再一次,发布者/订阅者模式也类似,不同之处在于
..
我有一个包含C#UI,C ++/CLI混合模式互操作包装程序和一些本机c ++项目的系统. 我需要做的是设置一个系统,以便本机c ++代码可以发送日志消息,而UI可以报告该消息. 我使用此设置了本机IObservable 作为模板,但是C#代码不能成为观察者.我的想法是在C ++/CLI中设置另一个观察者模式,该模式观察本机观察者,然后让C#实现.我使用此作为模板,但我我正在努力将其转
..