软件设计之 单一职责原则(SRP)

来源:互联网 发布:用java编写简单计算器 编辑:程序博客网 时间:2024/04/29 23:12
单一职责原则:就一个类而言应该仅有一个引起它变化的原因(ASD)。

笔者刚学编程的时候,是学c语言入门的。c语言是面向过程语言,刚开始习惯了,到现在写程序也会被面向过程思想所影响。
到了面向对象编程(java)的时候,很自然地就会给一个类加入各种各样的功能,于是在一个类中写入各种各样的代码。
但是这样做的弊端很明显,如果一个类的职责过多,就相当于把这些职责耦合在一起,一个职责的改变可能会抑制或改变其他职责的能力。这种耦合的设计会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
如果把所有的功能都写同一个类中,那么这个类就会高度耦合,里面的代码一环扣一环,如果要更改其中一处代码,很可能会牵一发动全身。改一处地方会影响到很多其他地方,会给后期维护代码带来极大的麻烦,而且还可能会导致出现各种bug。

软件设计真正要做的许多内容,就是发现职责并把那些职责不同的相互分离。
往往我们写程序的时候,如果有多于一个动机去改变一个类的话,那么这个类就具有多于一个的职责。
1 0
原创粉丝点击