单一职责原则:就一个类而言,就只有一个引起它变化的原因。我们在编程时,很自然地就给类加各种各样的功能,比如一个窗体应用程序,一般都会生成一个Forml这样的类,于是我们就把各种各样的代码,像某种商业运算的算法,数据库访问的SQL语句呀什么的,都写到这样的类中,这就意味着,无论任何需求要来,你都需要更改这个窗体类,这其实是很糟糕的,维护麻烦,复用不可能,也缺乏灵活性。
如果一个类职责过多,就等于把这些职责耦合在一起,一个职责的变化就会削弱或抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。
软件真正要做的许多内容,就是尽可能发现职责,并把它们相互分离。