【设计模式】单一职责原则

单一职责:一个类,应该仅有一个引起它变化的原因

   

      我写一个窗体应用程序时,大脑简单,要实现一个小功能不会想那么复杂,将所有代码都集合到一个Form窗体中,当了解单一职责后,才发现这种做法是非常要命的。

 

      当你把所有代码,功能都放到一个窗体或者一个类中,可以实现你想要的功能,但是后期的维护呢?你要更改一个小地方就会引起其他地方的改动,甚至影响到整个类中的代码,让程序死机,程序员崩溃。退一步讲,就算你精力很大,毅力很强,你可以维护好,但是你的代码没有复用性,别人想用都用不了,还缺反灵活性!!!

 

      如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发声时,设计会遭受到意想不到的破坏

 

      以书上的俄罗斯方块为例,首先你要设计一个游戏框的控件,然后要设计这个游戏的游戏逻辑(下落、旋转、碰撞判断、移动、堆积)

 

      界面的变化是和游戏本身没有关系的,界面是容易变化的,而游戏逻辑是不太容易变化。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。所以将界面与游戏本身分离开有利于界面的改动

 

 

【设计模式】单一职责原则_第1张图片

你可能感兴趣的:(【设计模式】单一职责原则)