敏捷软件开发之单一职责原则

SRP:单一职责原则(The Single Responsibility Principle,SRP):
一个类应该只有一个发生变化的原因。

在SRP中,我们把职责定义为变化的原因。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。

例如如下Modem的接口违反了SRP:

package com.pptb.design.patterns.srp;

public interface Modem {
    void dial(String pno);
    void hangUp();
    void send(char c);
    char recv();
}

Modem接口的dial和hangup函数职责是连接管理,send和recv的职责是数据通信,应该将这两组函数分离到两个接口中,如下:

package com.pptb.design.patterns.srp;

public interface Connection {
    void dial(String pno);
    void hangUp();
}

package com.pptb.design.patterns.srp;

public interface DataChannel {
    void send(char c);
    char recv();
}

你可能感兴趣的:(敏捷软件开发之单一职责原则)