面向对象的设计原则(1):SRP



SRP
 就一个类而言,应该仅有一个引起它变化的原因
 什么是职责?我们把职责定义为“变化的原因”(a reason for change),如果你能想到多于一个的动机去改变

 一个类,那么这个类就具有多于一个的职责
 如果一个类的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会抑止这个类完成其他职责的能力。例子:
 interface Modem 
 {
  public void dial(String pno);
  public void hangup();
  public void send(char c);
  public void recv();
 }
 该接口中有两个职责,一个是连接管理,一个是数据通信,这两个职责是否被分开,依赖于应用程序的变化方式,如果application的变化会影响连接,那么这个接口就有僵化的臭味,需要分离他们。反之,如果应用程序的变化总是导致两个职责同时变化,就不必分离他们。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章