Re: [概念] SRP 單一職責原則的問題

看板OOAD作者 (.zZ)時間6年前 (2017/08/22 22:46), 6年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
嗨 首先,我覺得第一份程式碼比較好 雖然也不是沒有看過物件導向的原則,重新看過一次 SRP 我認為應該要更廣義的去看待職責這件事情 我想要重新定義一下 init 的職責,player 作為初始化的對象,並且返回 而你所提出的三點項目則是完成這個職責所可能需要的操作 我可以寫作 init() { if(player) { destroy(player); } player = new Player(); return player; } 或是 init() { if(player) { player.clear(); return player; } player = new Player(); return player; } 隨著時代的變遷,人類的夢...阿不是,程式碼會被擴充 那麼,init 應該要維持他的 SRP 原則依舊作為 player 初始化的管理 或許行為上有那麼些許不同,但是職責是一樣的 init() { if(player) { player.stopPlay(); player.stopMusic(); player.clear(); return player; } player = new Player(); player.time = currTime; return player; } 我覺得,原則、理論,特別是廣義的那一種,很有意思 每個人都覺得理解了 描繪出來的卻是完全不一樣的綠洲 如果你也覺得第一份程式碼比較好;忘掉那個該死的原則就可以了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.248.23 ※ 文章網址: https://www.ptt.cc/bbs/OOAD/M.1503413182.A.E6B.html ※ 編輯: snowlike (1.161.248.23), 08/22/2017 22:55:24 ※ 編輯: snowlike (1.161.248.23), 08/22/2017 22:56:05

08/23 16:34, , 1F
感謝回文 QQ
08/23 16:34, 1F

08/31 03:47, , 2F
XDDD
08/31 03:47, 2F
文章代碼(AID): #1Pd4E-vh (OOAD)
文章代碼(AID): #1Pd4E-vh (OOAD)