标签: observer-pattern

RX Swift - API 的并行执行

我想使用 RX 从多个 API 下载数据并将它们组合起来。所有这些都将并行执行,然后合并来自所有响应的数据。我在此处的嵌套调用中执行它们并且我想转换代码。

public func searchListings(searchState: SearchState,
                             renderState: SearchRenderState) -  Observable<PropertyNetworkResponse  {
        return Observable.create({ (observer) -  Disposable in

      _ = self.getXData(searchState: searchState, renderState: renderState).subscribe(onNext: { (xData) in

        _ = self.getYData(searchState: searchState, renderState: renderState).subscribe(onNext: { (yData) in

          _ = self.getZData(searchState: searchState, renderState: renderState).subscribe(onNext: { (zData) in

          let results = xData + yData + zData


          observer.onNext(resultNetworkResponse)
          observer.onCompleted()

          }, onError: { (error) in

            observer.onError(error)

          }, onCompleted: nil, onDisposed: nil)
        }, onError: { (error) in

          observer.onError(error)

        }, onCompleted: nil, onDisposed: nil)

      }, …
Run Code Online (Sandbox Code Playgroud)

observable ios observer-pattern swift rx-swift

1
推荐指数
1
解决办法
2349
查看次数

使用 gRPC 的观察者模式 - C#

对不起,如果这是一个愚蠢的问题,但我在互联网上找不到任何有用的信息。

有没有人尝试过使用 gRPC 作为通信在 C# 中实现观察者模式?如果是,请告诉我链接。

非常感谢,并致以最诚挚的问候。

c# observer-pattern grpc

1
推荐指数
1
解决办法
959
查看次数

Observer 和 Observable 已被弃用,原因是:它们传达了某些内容已更改,但未说明已更改的内容,这是错误的吗?

通过打开jdk检查一下

弃用 Observer 和 Observable

观察者和可观察类:

可观察到:-

class NewsAgency extends Observable {

String news;
public void setNews(String news) {
    this.news = news;
    setChanged();
    notifyObservers(news);
 }
}
Run Code Online (Sandbox Code Playgroud)

观察员:-

public class IndiaNews implements Observer {
   @Override
   public void update(Observable o, Object news) {
   System.out.println("Indianews: " +news.toString());
 }
}

class AjjTak implements Observer {
@Override
public void update(Observable o, Object news) {
    System.out.println("AjjTak: " +news.toString());
}
Run Code Online (Sandbox Code Playgroud)

主要类别:-

public class Main {
public static void main(String[] args) {
    NewsAgency newsAgency = new NewsAgency();

    IndiaNews …
Run Code Online (Sandbox Code Playgroud)

java observer-pattern java-8 java-9

1
推荐指数
1
解决办法
1870
查看次数

Observer for .Net的替代设计模式

我最初将在C#3.0中实现一个观察者模式来解决我的问题,尽管它不会以完全相同的方式实现.

我的问题是我有一个可以发布消息的用户的Web应用程序.通知不会直接发送给其他用户,而是发送到更新统计信息对象的分布式缓存,用户可以检查统计信息,以决定是否需要更新.

我目前有一个IObserver接口,需要根据发布消息的人以及他们如何执行来实现多个Update()方法.

我也查看过调解器模式,但我不认为它是正确的,因为调解器的实例不会列出当前登录的人员.

我现在想知道是否有另一种既定的设计模式更合适,或者我是否应该完善我现有的Observer模式以满足我的需求.

谢谢

c# design-patterns observer-pattern

0
推荐指数
1
解决办法
1056
查看次数

使用android内容观察器检测铃声音量的变化并记录下来?

有人可以给我一段代码,可以使用Android内容观察器来检测铃声音量的变化并记录下来吗?

android volume observer-pattern

0
推荐指数
1
解决办法
2662
查看次数

如何在Web应用程序中实现Observable Design Pattern?

我想知道我是否可以在ASP.Net MVC 3中实现Observable设计模式.

我希望每次在服务器上存在像值这样的信息时,应该在有变化时通知浏览器.

我可以这样做吗?如果有,怎么样?请发布示例或链接到此类示例.

asp.net-mvc observer-pattern asp.net-mvc-3

0
推荐指数
1
解决办法
3135
查看次数

我可以在没有聚合物的Dart中观察变量吗?

是否可以在不使用Polymer库的情况下观察Dart中的变量和/或集合?

observable observer-pattern dart

0
推荐指数
1
解决办法
545
查看次数

模型观察员,无法进行更新吗?

我在尝试让我的模型观察器工作时遇到麻烦。它正在按预期的方式进行创建和删除,但无法进行更新。我猜事件永远不会触发。问题是所有事情都以完全相同的方式进行。有任何想法吗?下面,我的观察者。

class GenericObserver extends AbstractObserver {

protected $events;

public function __construct(Dispatcher $dispatcher){
    $this->events = $dispatcher;

}

public function saved($model) {
    dd($this->events);

    $user_id = Auth::user()->usr_id;
    $user_nome = Auth::user()->usr_nome;
    $user_email = Auth::user()->usr_email;

    dd($model);
}

public function deleted($model) {
    $user_id = Auth::user()->usr_id;
    $user_nome = Auth::user()->usr_nome;
    $user_email = Auth::user()->usr_email;

    echo($model->getTable());
    dd($model->getKeyName());

}

public function updated($model) {


    $user_id = Auth::user()->usr_id;
    $user_nome = Auth::user()->usr_nome;
    $user_email = Auth::user()->usr_email;

    dd($model);

}

public function saving($model){
    echo 'Saving';
}

public function deleting($model){
    echo 'Deleting';
}

public function updating($model){
    echo 'Updating'; …
Run Code Online (Sandbox Code Playgroud)

php observers observer-pattern eloquent laravel-5

0
推荐指数
1
解决办法
4105
查看次数

正确使用takeUntil()停止可观察

我正在尝试创建2个可观察值,它们基本上可以进行逆运算。它是服务发现端点,因此在启动应用程序时,它必须尝试注册服务发现直到成功。所以我想到了创建这样的可观察对象:

const create$ = Rx.Observable.create((observer) => {
    observer.next('Trying to create observation');
    sp.put(endpoint, { json: true }, (err, res, payload) => {
      err ? observer.error(err) : observer.complete();
    });
  });
Run Code Online (Sandbox Code Playgroud)

当应用程序正常关闭时,我想执行逆操作。像这样:

const delete$ = Rx.Observable.create((observer) => {
    console.log('deleted subscribed');
    observer.next('Trying to delete observation');
    sp.delete(endpoint, { json: true }, (err, res, payload) => {
      err ? observer.error(err) : observer.complete();
    });
  });
Run Code Online (Sandbox Code Playgroud)

因此,我决定创建一个函数,该函数返回具有.create()和的对象.delete()。我要解决的问题是,当应用程序启动并尝试注册,但无法到达服务发现端点时,稍后应用程序启动其正常关闭过程并调用该.delete()操作,则该.create()操作不应再运行。

function observe({ url, version, serviceName }) {
  const endpoint = `/endpoint/${serviceName}/${version}/${encodeURIComponent(url)}`;

  const create$ …
Run Code Online (Sandbox Code Playgroud)

observable observer-pattern rxjs rxjs5

0
推荐指数
1
解决办法
3232
查看次数

观察者模式实现没有互惠引用和智能指针

我正在尝试实现Observer模式,但我不希望观察者通过维护引用列表来对我的程序安全负责ObservableSubject.

这意味着当Observer object生命结束时,我不想明确地调用ObservervableSubject::removeObserver(&object).

我想出了一个使用指针引用的想法ObservableSubject.

我的问题是:上面描述的实现和下面的尝试是否可行?在我的程序中发生了什么,我如何防止解除引用垃圾?

Apriori借口:这是一种理解C++的尝试,而不是应该具有实际用途或者优先于其他实现的东西.

我的解决方案:

// Example program
#include <iostream>
#include <string>
#include <vector>

class ObserverInterface {
public:
    virtual ~ObserverInterface() {};
    virtual void handleMessage() = 0;
};

class ObservableSubject
{
    std::vector<std::reference_wrapper<ObserverInterface*>> listeners;

public:
    void addObserver(ObserverInterface* obs)
    {
        if (&obs)
        {
            // is this a reference to the copied ptr?
            // still, why doesnt my guard in notify protect me
            this->listeners.push_back(obs);
        }
    }

    void removeObserver(ObserverInterface* obs)
    {
        // todo
    }

    void …
Run Code Online (Sandbox Code Playgroud)

c++ observer-pattern c++11

0
推荐指数
1
解决办法
218
查看次数