- 定义
单一职责原则就是指一个类只实现某一个特定的功能,职能是单一的 - 好处
可以降低类的复杂度。
提高类的可读性,可维护性。
降低变更的风险。 - 以交通工具例子
package cn.chmcyz.singlereposibility;
/**
* @author 谌涣谋
* @date 2020/5/12 - 19:15
*/
public class SingleResposibility1 {
public static void main(String[] args) {
Transport transport=new Transport();
transport.run("车子");
transport.run("飞机");
transport.run("轮船");
}
}
class Transport{
public void run(String transport){
System.out.println(transport+"在运行");
}
}
如上,公路上的车子,天上的飞机,水里运行的轮船,都调用Transport类的run方法,这样设计显然是有问题的,如果要更改在公路上车子的运行方法,则天上飞的和水里运行的交通工具的类方法也会受影响。违背了单一职能原则,改进如下
package cn.chmcyz.singlereposibility;
/**
* @author 谌涣谋
* @date 2020/5/12 - 19:30
*/
public class SingleResposibility2 {
public static void main(String[] args) {
Road road=new Road();
road.run("汽车");
Sky sky=new Sky();
sky.run("飞机");
Water water=new Water();
water.run("轮船");
}
}
class Road{
public void run(String transport){
System.out.println(transport+"在公路上开");
}
}
class Sky{
public void run(String transport){
System.out.println(transport+"在天上飞");
}
}
class Water{
public void run(String transport){
System.out.println(transport+"在水里运行");
}
}
这样设计改变公路上运行的交通工具的run方法,不会影响天上开的和水里运行的交通工具的run方法,符合单一职能原则