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

作者: snowlike (.zZ)   2017-08-22 22:46:19

首先,我覺得第一份程式碼比較好
雖然也不是沒有看過物件導向的原則,重新看過一次 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;
}
我覺得,原則、理論,特別是廣義的那一種,很有意思
每個人都覺得理解了
描繪出來的卻是完全不一樣的綠洲
如果你也覺得第一份程式碼比較好;忘掉那個該死的原則就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com