原则概述:一个类或者一个方法只负责一项职责或功能。如【类A】负责两个不同职责,即【职责1】和【职责2】。当【职责1】需求变更而改变【类A】时,可能引用【类A对象】的【职责2】时执行错误,所以需要将【类A】的职责分解为【类A1】,【类A2】 。当主体类A改为方法A时,也是一样的。
public class SingleResponsibility {
public static void main(String[] args) {
GoToSchool goToSchool = new GoToSchool();
goToSchool.onFoot("今天我怎么上班?");
goToSchool.byBike("今天我怎么上班?");
goToSchool.byDrive("今天我怎么上班?");
goToSchool.byBus("今天我怎么上班?");
}
}
class GoToSchool {
public void onFoot(String message) {
System.out.println(message + "步行上班!");
}
public void byBus(String message) {
System.out.println(message + "坐公交上班!");
}
public void byBike(String message) {
System.out.println(message + "骑车上班!");
}
public void byDrive(String message) {
System.out.println(message + "开车车上班!");
}
}
注意事项:
- 降低类/方法的复杂度,一个类/方法只负责一项职责。
- 提高类/方法的可读性,可维护性,易于扩展和阅读
- 降低变更引起的风险



