2009-08-20 77 views
2

假設有不同組的科學家(醫療)服務於緊急票。 當緊急票到達公共泳池(組)時,在任何時間只有一位科學家被允許拿起票,而其他人可以或將會自動通知該特定人在票上工作。C# - 發佈者訂閱解決這個問題嗎?

注意:一個人可以在不同截止日期的多張票上工作。

當票證太複雜無法解決時,拿起票的人可以把它交給同一組或另一組中的其他人。 在這種情況下,這種交接的原因應該立即傳播給其他人。

在極端需要單票上的任務可以分解和分組。 如果一個任務在單個票證組之間被拆分和共享,那麼共享票據的人將不被允許拿起任何新票證或在其他現有票證上工作(這樣做,他將被通知他正在工作在共享票上)。


我的問題是:
是Observer模式,是在通知服務或其他設計模式的最佳選擇可順利處理它(死鎖自由)。?

+0

家庭作業提醒。 – 2009-08-20 19:25:28

回答

3

你需要的是一個隊列。

取決於你如何實現它,你可以使用

時獲得通知,將和獲得

  • MSMQ爲其排隊功能,是特別有用的採用分佈式設計
  • 一個SQL Server數據庫時,又有趣,是的,需要一個pub/sub機制。再次,那裏有選擇。

  • +0

    確定這是我正在尋找的東西。我剛剛6個月的編程(新手)。非常感謝您提供的細節。 – user158977 2009-08-20 20:03:45

    2

    聽起來好像消息/隊列將是一個不錯的選擇

    +0

    感謝弗蘭克提出的建議 – user158977 2009-08-20 20:04:35

    相關問題