一、单一职责原则
2018-05-06 本文已影响15人
Jimmy5Zhang
1、定义
应该有且仅有一个原因引起类的变更
SRP-class.png2、实现
(1)定义通话连接服务
public interface IConnectionManager {
void dial(String phoneNumber); // 拨打电话
void hangup(); // 挂断电话
}
(2)实现通话连接服务
public class ConnectionManager implements IConnectionManager {
@Override
public void dial(String phoneNumber) {
Log.d("JimmyZhang", "拨打电话");
}
@Override
public void hangup() {
Log.d("JimmyZhang", "挂断电话");
}
}
(3)定义通话数据传输服务
public interface IDataTransfer {
public void chat(Object o);
}
(4)实现通话数据传输服务
public class DataTransfer implements IDataTransfer {
IConnectionManager cm;
public DataTransfer(IConnectionManager cm) {
this.cm = cm;
}
@Override
public void chat(Object o) {
Log.d("JimmyZhang", "通话");
}
}
(5)实现通话功能
DataTransfer dataTransfer;
public void setDataTransfer(DataTransfer dataTransfer) {
this.dataTransfer = dataTransfer;
}
public void dial(String phoneNumber) {
dataTransfer.cm.dial(phoneNumber);
}
public void hangup() {
dataTransfer.cm.hangup();
}
public void chat(Object o) {
dataTransfer.chat(o);
}