jjzjj

observer

全部标签

java - 在 Java 中实现观察者模式时避免暴露实现细节?

我从C#转到Java,在C#中事件是一等公民,事件处理程序可以是私有(private)方法。我现在正在开发一个Java项目,我当然需要使用观察者模式来实现事件。由于Observer需要将其监听器/处理程序回调方法公开给Observable类,这似乎是将Observer的细节实现公开给其他无关的类。我可以将对这些方法的访问设置为包级别,这将使这些实现细节对我的包的消费者隐藏,但它对我来说仍然有难闻的“气味”。这只是我需要咬紧牙关还是有更好的方法? 最佳答案 使用观察者模式,您正在观察的类不需要公开它们的实现。通知其他类的类通常会有自己

java - 将 Observables 收集到列表似乎不会立即发出集合

我使用RxJava基本上收集单独发出的Observable列表,并将它们组合成Observable列表(本质上与flatMap相反)。这是我的代码://myEvent.findMemberships()returnsanObservable>myEvent.findMemberships().flatMap(newFunc1,Observable>(){@OverridepublicObservablecall(Listmemberships){Listusers=newArrayList();for(Membershipmembership:memberships){users.ad

java - 为什么我的 RxJava Observable 除非阻塞,否则不会发出或完成?

背景我有许多RxJavaObservables(从Jersey客户端生成,或者使用Observable.just(someObject)生成)。它们都应该只发出一个值。我有一个模拟所有Jersey客户端并使用Observable.just(someObject)的组件测试,我看到了与运行生产代码时相同的行为。我有几个类作用于这些observables,执行一些计算(以及一些副作用-我可能会让它们稍后直接返回值)并返回空的voidobservables。有一次,在一个这样的类中,我试图压缩我的几个源可观察量然后映射它们-如下所示:publicObservabledoCalculation

java - 获取通用接口(interface) : The interface Observer cannot be implemented more than once with different arguments: 的错误

我在编写GWT应用程序时在Eclipse中遇到此错误TheinterfaceObservercannotbeimplementedmorethanoncewithdifferentarguments:ObserverandObserverpublicclassCompositeWordListsextendsCompositeimplementsObserver,Observer这是界面publicinterfaceObserver{publicvoidupdate(To);}这样对吗?如何在不必为每个可能的事件创建大量观察者类的情况下解决这个问题? 最佳答

java - RxJava 合并 debounced 和 not debounced observables

我有两个可观察对象:ObservableO(open):包含一些内容的文件在textview中打开ObservableE(edit):在textview中编辑的文件内容我想去抖动Eobservable,并将其与Oobservable合并。obs=Observable.merge(E.debounce(2000,TimeUnit.MILLISECONDS),O).subscribe(content->System.out.println("newcontent:"+content))问题是,如果E发出事件E1并且紧接着O发出O1事件,我们有输出:newcontent:O1newconte

java - 具有太多 Observable 的 RxJava1 StackOverflow 异常

我正在使用rxjava1开发一个项目,我有一个Observable链,偶尔会包含数千个合并或连接在一起的observable。当发生这种情况时,将发生StackOverflow异常,我们将得到如下信息:java.lang.StackOverflowErroratjava.util.HashMap.putVal(HashMap.java:631)atjava.util.HashMap.put(HashMap.java:612)atrx.internal.operators.OnSubscribeToMap$ToMapSubscriber.onNext(OnSubscribeToMap.j

鸿蒙Harmony--状态管理器-@Observed装饰器和@ObjectLink装饰器详解

 经历的越多,越喜欢简单的生活,干净的东西,清楚的感觉,有结果的事,和说到做到的人。把圈子变小,把语放缓,把心放宽,用心做好手边的事儿,该有的总会有的!目录一,定义二,装饰器说明三,变量的传递/访问规则说明 四,使用1,简单对象的使用2,嵌套对象的使用3,数组对象的使用一,定义之前所讲的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了@Observed/@ObjectLink装饰器。@ObjectLink和@Obs

java - RxJava : Observable and default thread

我有以下代码:Observable.create(newObservableOnSubscribe(){@Overridepublicvoidsubscribe(@NonNullfinalObservableEmitters)throwsException{Threadthread=newThread(newRunnable(){@Overridepublicvoidrun(){s.onNext("1");s.onComplete();}});thread.setName("background-thread-1");thread.start();}}).map(newFunction

java - 如何在 RxJava 中进行递归 Observable 调用?

我对RxJava很陌生(以及一般的Reactive范式),所以请多多包涵。假设我有这个News和这个嵌套的Comment数据结构:publicclassNews{publicintid;publicint[]commentIds;//onlytoplevelcommentspublicNews(intid,int[]commentIds){this.id=id;this.commentIds=commentIds;}}publicclassComment{publicintid;publicintparentId;//IDofparentNewsorparentcommentpubli

java - 在 Java 中同时使用 Observer 和 Observable 的模型设计不好吗?

这个问题与MVC(模型-View-Controller)有关。我的模型当前使用Java中的Observer/Observable模式更新我的View:publicclassModelextendsObservable{}publicclassViewimplementsObserver{@Overridepublicvoidupdate(observableo,Objectobj){//...updatetheviewusingthemodel.}}这很好用。但是,我的模型变得越来越复杂-它开始包含其他类的列表:publicclassModelextendsObservable{Lis