簡體   English   中英

一個類可以同時實現觀察者設計模式的主題和觀察者部分嗎?

[英]Can one class implement both subject and observer sections of the observer design pattern?

我正在為Java設計一個敵對的框架並與觀察者一起工作。 我想知道是否有可能| 值得讓一個類在Java中同時實現觀察者和主題嗎?

我希望有一個同時實現主體和觀察者的敵人界面,以便在看到玩家或敵人的情況下,彼此之間一定距離內的敵人可以互相提醒。

這里有更好的模式嗎?

我認為其中之一比觀察者模式更適合使用,這取決於您實際如何實現框架:

主題/觀察者的麻煩在於,當您的敵人相互移入/移出對方時,它們會涉及注冊/注銷。

我建議隱式調用或事件驅動如下:

  • 每當敵人看見玩家時,都會產生一個“事件”,並廣播給所有其他敵人。
  • 此事件將有一個坐標來指定從何處廣播。
  • 對於接收事件的每個敵人(全部都是),請查看坐標並查看其是否在自身的一定范圍內
    • 如果沒有,請忽略它(並假裝它從未聽過)
    • 如果是這樣,請根據需要執行某些操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM