observer-pattern相关内容

带有委托的 C# 观察者/可观察的超级简单示例

我最近开始深入研究 C#,但我一生无法弄清楚在语言中实现观察者/可观察模式时委托是如何工作的. 谁能给我一个超级简单的例子来说明它是如何完成的?我用谷歌搜索了这个,但我发现的所有示例要么过于具体,要么过于“臃肿". 解决方案 观察者模式通常使用 事件. 这是一个例子: 使用系统;类可观察{公共事件EventHandlerSomethingHappened;公共无效 DoSom ..
发布时间:2022-01-18 11:54:00 C#/.NET

如何触发价值变化的功能?

我意识到这个问题与事件处理有关,并且我已经阅读了有关 Python 事件处理程序和调度程序的信息,所以要么它没有回答我的问题,要么我完全错过了信息. 我希望在值 v 发生变化时触发对象 A 的方法 m(): 例如(假设金钱使人快乐): global_wealth = 0类人()def __init__(self):自我财富 = 0全球 global_wealth# 这里是属性应该在的 ..
发布时间:2022-01-15 11:16:45 Python

iPhone:相机自动对焦观察者?

我想知道是否可以在 iPhone 应用程序中接收有关自动对焦的通知? 即,是否有一种方法可以在自动对焦开始、结束、成功或失败时收到通知......? 如果是,这个通知名称是什么? 解决方案 我找到了适合我的案例的解决方案,以找到自动对焦何时开始/结束.它只是在处理 KVO(键值观察). 在我的 UIViewController 中: //回调- (void)observ ..
发布时间:2022-01-06 16:59:32 移动开发

如何从后台服务更新 Android Activity 中的信息

我正在尝试创建一个简单的 Android 应用程序,它有一个 ActivityList 信息,当应用程序启动时,我计划启动一个将不断计算数据(它会发生变化)的服务,我希望 ActivityList 是与服务在应用生命周期内计算的数据同步. 如何设置我的 Activity 以监听服务?这是解决此问题的最佳方法吗? 例如,如果您想象一个股票价格列表 - 数据将定期更改,并且需要与(在我的情 ..
发布时间:2022-01-05 22:43:17 Java开发

观察者与回调

我考虑过使用观察者或回调.什么时候应该使用观察者? F.e.您可以执行以下操作: # 用户模型类用户 或者你可以创建一个观察者,让它在用户被创建时观察... 你推荐什么? 解决方案 回调的生命周期更短:您将其传递给一个函数以供调用一次.它是 API 的一部分,因为您通常无法在不传递回调的情况下调用该函数.这个概念与函数的作用紧密结合.通常,您只能传递一个回调.. 示例 ..
发布时间:2022-01-03 08:21:51 其他开发

Observable 主题事件监听器

我正在研究 Observables 及其与 EventEmitter 的差异,然后偶然发现了 Subjects(我可以看到 Angulars EventEmitter 是基于它的). 似乎 Observables 是单播的,而 Subjects 是多播的(然后一个 EE 只是一个将 .next 包装在发射中以提供正确接口的主题). Observables 看起来很容易实现 class ..
发布时间:2022-01-01 22:40:41 前端开发

如何在java中创建自定义侦听器?

我想知道如何在java中设置我们自己的监听器.例如,我有一个将数字从1递增到100的函数.我想在值达到50时设置一个监听器.我该怎么做?请建议我任何教程. 解决方案 查看使用侦听器的任何类的来源.其实很简单: 为你的听众创建一个界面,例如MyListener 维护一个MyListener 的列表对于侦听器应该侦听的每个事件,遍历列表并使用一些事件参数调用适当的方法 关于观察 ..
发布时间:2021-12-31 14:30:15 Java开发

具有插件之间共享接口的 C# 插件架构

我将我的问题分为短版和长版,供手头时间不多的人使用. 简短版本: 我需要一些架构来构建具有提供者和消费者插件的系统.提供者应该实现接口 IProvider,消费者应该实现 IConsumer.正在执行的应用程序应该只知道 IProvider 和 IConsumer.消费者实现可以询问正在执行的程序集(通过 ServiceProcessor)哪些提供者实现了 InterfaceX 并返回 ..
发布时间:2021-12-31 14:29:34 C#/.NET

Observer 在 Java 9 中已被弃用.我们应该用什么来代替它?

Java 9 出来了,Observer 已被弃用.这是为什么?这是否意味着我们不应该再实现观察者模式? 最好知道什么是更好的选择? 解决方案 这是为什么?这是否意味着我们不应该再实现观察者模式了? 先回答后半部分—— YES,这确实意味着你不应该再实现 Observer 和 Obervables. 为什么不推荐使用 - 他们没有为应用程序提供足够丰富的事件模型 ..
发布时间:2021-12-28 08:44:20 Java开发

您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

假设您的一个 Ruby on Rails 应用程序中有一个 ActiveRecord::Observer - 您如何使用 rSpec 测试这个观察者? 解决方案 您走在正确的轨道上,但在使用 rSpec、观察者和模拟对象时,我遇到了许多令人沮丧的意外消息错误.当我规范测试我的模型时,我不想在我的消息期望中处理观察者行为. 在您的示例中,在不知道观察者将对模型做什么的情况下,没有一种很 ..
发布时间:2021-12-23 15:13:49 其他开发

如何在 Rails 中为每个表创建完整的审计日志?

我们最近开始在公司进行合规性推动,并且需要保留当前在 Rails 应用程序中管理的数据更改的完整历史记录.我们已获准将每个操作的描述性内容简单地推送到日志文件中,这是一种相当不显眼的方式. 我倾向于在 ApplicationController 中做这样的事情: around_filter :set_logger_usernamedef set_logger_usernameThread. ..
发布时间:2021-12-23 14:57:44 其他开发

观察者设计模式与“监听器"

在我看来,GOF 中描述的观察者设计模式与各种工具包中的侦听器实际上是同一回事.概念之间是否存在差异,或者监听器和观察器真的是一回事. (我不是在寻找任何特定的计算机语言实现,我只是想从设计的角度了解差异(如果有的话).是的,我知道关于 SOF 的类似问题有几个答案,但它们'植根于关于特定语言的特定问题——我正在寻找设计答案,而不是语言答案.) 解决方案 术语“侦听器"是否指的是观察 ..

回调/命令 vs 事件监听器/观察者模式

我正在尝试设计一个异步框架,并想知道人们认为回调模式与观察者模式的优缺点. 回调模式://示例回调公共接口回调{公共无效通知(方法结果结果);}//示例方法公共类工人{public void doAsyncWork(回调回调){//做工作回调.通知(结果);}}//示例观察者模式公共接口事件监听器{公共无效通知(方法结果结果);}公共类工人{私人 EventListener 监听器;公共 reg ..

C++中的观察者设计模式

观察者设计模式是否已经在 STL 中定义(如 Java 中的 java.util.Observer 和 java.util.Observable)? 解决方案 这里是一个参考实现(来自 维基百科). #include #include #include #include 类 SupervisedString;类 IO 观察者{上市:virtual void handleEvent(con ..
发布时间:2021-12-22 09:03:41 C/C++开发

观察者模式的反面是什么?

据我所知,观察者模式允许多个观察者监视单个主题.是否有相反情况的模式?是否有一种模式可以让单个观察者监视多个主体并在其中任何一个引发通知事件时做出响应? 解决方案 观察者模式仍然可以使用:只需将相同的对象寄存器作为许多被监视对象的观察者即可.您可能希望“通知"事件接收某种观察对象标识符(“this"指针、唯一 ID 号等),以便观察者对象可以选择适合报告事件的对象的操作. ..
发布时间:2021-12-22 09:02:28 其他开发

在 Python 中实现回调 - 传递对当前函数的可调用引用

我想在 Python 中为几个工人实现 Observable 模式,并且遇到了这个有用的片段: class 事件(对象):经过可观察类(对象):def __init__(self):self.callbacks = []定义订阅(自我,回调):self.callbacks.append(回调)定义火(自我,**属性):e = 事件()e.source = self对于 attrs.iterite ..