CSDN博客

img nylx

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

发表于2004/7/7 22:05:00  882人阅读



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

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

0 0

相关博文

我的热门文章

img
取 消
img