Re: [概念] SRP 單一職責原則的問題
嗨
首先,我覺得第一份程式碼比較好
雖然也不是沒有看過物件導向的原則,重新看過一次 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
08/23 16:34, 1F
推
08/31 03:47, , 2F
08/31 03:47, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章