我對今天的活動和代表們毫不留情,爲此,我一直在玩弄體驗酒吧的想法,即遊戲中的進度條。但是,我有一個關於解決我的問題的更好方法的問題 - 它可能和糟糕的設計一樣簡單。讓我給你提供一些細節。我應該使用事件來通知課程還是僅使用回報?
我用ExperienceBar類建模了我的想法。
它包含屬性:
- INT在startValue
- INT CurrentValue的
- INT endValue值
和方法
- 空隙UpdateBar(INT)
UpdateBar將該參數添加到CurrentValue,然後測試是否已達到EndValue。如果超過該金額,EndValue將增加,金額繼續增加。請注意,最初在我看來,它並不關心達到最大可能量的影響,只是最終值增加並且StartValue重置爲零。
另一個名爲Player的類具有ExperienceBar類的屬性。
在我的小演示中,當Player.ExperienceBar.UpdateBar(int)達到EndValue時,它觸發一個由Player類處理的事件。它將Player.Level屬性更新一個。
我剛剛意識到,我可以通過更改UpdateBar(int)來返回類型「true」來實現同樣的目的。此方法可以由Player類進行測試,如果爲true,則Player.Level將增加1。
所以我的問題 - 哪個是最好的實踐方式來處理這個相當具體的情況?作爲這種情況下的一般經驗法則,處理事件是否更好,還是僅僅通過測試return語句來簡化它會更好? PS:我希望我已經儘量說清楚了,但我可以嘗試澄清是否有人遇到麻煩。我相信我的想法可能會有一些冗餘,但請儘量不要偏離這個問題。我很瞭解他們!謝謝:)
在我看來,大多數人的答案落在了「只有在不止一個聽衆需要知道事件發生時才實施事件」的一面。謝謝大家對這種情況的有趣見解。 –