单一职责原则:就一个类而言应该仅有一个引起它变化的原因(ASD)。
笔者刚学编程的时候,是学c语言入门的。c语言是面向过程语言,刚开始习惯了,到现在写程序也会被面向过程思想所影响。
到了面向对象编程(java)的时候,很自然地就会给一个类加入各种各样的功能,于是在一个类中写入各种各样的代码。
但是这样做的弊端很明显,如果一个类的职责过多,就相当于把这些职责耦合在一起,一个职责的改变可能会抑制或改变其他职责的能力。这种耦合的设计会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
如果把所有的功能都写同一个类中,那么这个类就会高度耦合,里面的代码一环扣一环,如果要更改其中一处代码,很可能会牵一发动全身。改一处地方会影响到很多其他地方,会给后期维护代码带来极大的麻烦,而且还可能会导致出现各种bug。
软件设计真正要做的许多内容,就是发现职责并把那些职责不同的相互分离。
往往我们写程序的时候,如果有多于一个动机去改变一个类的话,那么这个类就具有多于一个的职责。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。