Geo*_*Geo 2 oop design-patterns callback
我注意到我的代码的很大一部分是围绕回调构建的.这被认为是"设计缺陷"吗?我应该遵循更好的设计模式吗?
我猜你可以看到观察者模式可以像回调一样使用.你看过了吗?
在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);
}
}
Run Code Online (Sandbox Code Playgroud)