看板 OOAD 關於我們 聯絡資訊
這是我個人比較喜歡的風格。 class Player { init() { destroyPlayer (player) // {if(player)destroy(player)} createPlayer (player) // {player = new Player() } return player; } } 另外,Init的SRP應該是指初始化的流程。 假設有一個FactoryPlayer,負責Create與Dispose。 Init就針對整個流程進行管理,詳細實作跟它無關。 init(factoryPlayer) { factoryPlayer.destroy (player); factoryPlayer.create (player); return player; } 不過以這個例子來說,這樣做就over design, 我個人是以可讀性、簡單的方式為主, 其他的原則不必這麼死守。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.16.153 ※ 文章網址: https://www.ptt.cc/bbs/OOAD/M.1507976934.A.8F4.html