当前位置:  开发笔记 > 编程语言 > 正文

如何超越回调编程?

如何解决《如何超越回调编程?》经验,为你挑选了1个好方法。

我注意到我的代码的很大一部分是围绕回调构建的.这被认为是"设计缺陷"吗?我应该遵循更好的设计模式吗?



1> Henrik Paul..:

我猜你可以看到观察者模式可以像回调一样使用.你看过了吗?

在Pragmatic Programmer一书中,他们提到了一个等待登机的人的例子.而不是那个人经常向值机台询问她是否可以登机(轮询),办理登机手续台会在航班准备好时向所有感兴趣的人公开宣布.

此示例的伪代码可能如下所示:

class Clerk implements CheckInNotifyer {
  BunchOfObservers observers = new Bunch();

  public void addObserver(CheckInObserver observer) {
    observers.add(observer);
  }

  private void notifyListeners() {
    observers.all.notifyCheckIn(new CheckInEvent());
  }
}

class Passenger implements CheckInObserver {
  public void notifyCheckIn(CheckInEvent event) {
    event.getPlane().board();
  }
}

class WaitingArea {
  public init() {
    Passenger passenger = new Passenger();
    Clerk clerk = new Clerk();

    clerk.addObserver(passenger);
  }
}

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有