单一职责原则

来源:互联网 发布:任务管理 知乎 编辑:程序博客网 时间:2024/05/28 15:08

单一职责原则

单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因.

就一个类而言,应该仅有一个引起它变化的原因,当我们编程的时候,很自然地给一个类添加各种各样的功能,比如我们写一个窗体应用程序,一般会创建一个Form1这样的类,于是我们把各种各样的代码,像某种商业运算的算法呀,像数据库访问的sql语句呀,都写到Form1这样的类中,这就意味着,无论任何需求要来,你都需要更改这个窗体类,这其实是很糟糕的,维护麻烦,复用不可能,也缺乏灵活性.

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

软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,其实要去判断是否应该分离出类来,也不难,那就是如果你能够想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该考虑职责的分离.

原创粉丝点击