在我的设计中有三方:
- MSFT 订单簿
- 纳斯达克指数(需要在 MSFT 订单簿更改时重新计算)
- MSFT 策略(需要在 MSFT 订单簿或纳斯达克指数变化时重新计算)
所以我附上两者NASDAQ index
并MSFT strategy
喜欢MSFT orderbook
这样:msftOrderBook.OrderbookUpdated += orderbookUpdated;
我也附上MSFT strategy
以同样的方式倾听NASDAQ index
变化。
我有以下问题:
- 秩序很重要。由于我想
NASDAQ index
在重新计算策略之前重新计算我应该在附加之前附加NASDAQ index
到. 这是潜在的错误,因为我没有简单的机制来“保证”我以正确的顺序附加......orderBook
strategy
- 当
MSFT
订单簿更新时,它会通知NASDAQ index
两者NASDAQ index
并MSFT orderbook
通知MSFT strategy
更新。所以MSFT strategy
收到双重更新,但我不需要。我只想要一次更新,因为预计当 MSFT 订单簿发生变化时,纳斯达克指数也会发生变化。
问题:
- 依赖
EventHandler
调用顺序好不好?如果它不好,我的问题的一般解决方案是什么? - 关于第二点,我只想在
MSFT strategy
MSFT orderBook
更新中忽略,因为策略知道每次更新 orderBook 时纳斯达克指数也会更新,因此仅对纳斯达克指数更新做出反应就足够了。但也许你可以建议一些完全不同的更好的东西..