我的班級有3個州。在每一種狀態下,它都會做一些工作,並進入其他狀態,或者保持在相同的狀態(95%或更多的情況下,它將保持在相同的狀態)。我可以實現狀態模式(我假設你知道它)。我很喜歡的另一種方法是:「狀態模式」vs「每個狀態的一個成員函數」?
我有一個每個狀態的成員函數,還有一個指向成員函數的指針,它指向當前狀態函數。當我想進入另一個狀態時,我只是將該函數指針指向另一個狀態函數。 (也許這不完全等同於狀態模式,但在我的情況下它工作正常)。
我想這兩種方式幾乎是一樣的。
所以,我的問題是:
- 哪種方案更好(取決於什麼)?
- 是否值得爲每個狀態聲明一個類(它只有一個函數)?我認爲這是人爲的。
- 性能怎麼樣?沒有創造新的國家階級對象(在國家模式的情況下)帶來輕微的開銷? (當然狀態類不應該有會員,但無論如何,它應該花費的東西)
如果您的代碼工作那麼代碼審查可能是因爲它在正確的地方。 –
我的問題是一般,不與我的代碼連接。 – user1289
考慮瀏覽/張貼程序員板然後 –