单一职责原则:就一个类而言应该仅有一个引起它变化的原因(ASD)。
笔者刚学编程的时候,是学c语言入门的。c语言是面向过程语言,刚开始习惯了,到现在写程序也会被面向过程思想所影响。
但是这样做的弊端很明显,如果一个类的职责过多,就相当于把这些职责耦合在一起,一个职责的改变可能会抑制或改变其他职责的能力。这种耦合的设计会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
如果把所有的功能都写同一个类中,那么这个类就会高度耦合,里面的代码一环扣一环,如果要更改其中一处代码,很可能会牵一发动全身。改一处地方会影响到很多其他地方,会给后期维护代码带来极大的麻烦,而且还可能会导致出现各种bug。
软件设计真正要做的许多内容,就是发现职责并把那些职责不同的相互分离。
往往我们写程序的时候,如果有多于一个动机去改变一个类的话,那么这个类就具有多于一个的职责。
原文链接:https://www.f2er.com/javaschema/283855.html