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