设计原则——单一职责原则
2019-08-22 本文已影响0人
写一本2000000的书
概念:一个类只负责一项职责,尽量做到类只有一个行为原因引起变化。
问题背景:当一个类的职责有多个,其中一个类的职责需求发生改变是,有可能会导致另外的功能发生故障。一个类承担过多职责,实际上这些职责耦合在一起了。
class Vehicle {
void run(String vehicle) {
System.out.println(vehicle+ "在公路上跑...");
}
}
Vehicle vehicle = new Vehicle();
vehicle.run("汽车");
vehicle.run("火车");
vehicle.run("飞机");
// 飞机应该在天上飞,这里不合理,违背了单一职责原则
在方法层级分开
class Vehicle {
void runRoad(String vehicle) {
System.out.println(vehicle+ "在公路上跑...");
}
void runAir(String vehicle) {
System.out.println(vehicle+ "在天空上飞...");
}
void runWater(String vehicle) {
System.out.println(vehicle+ "在水里游...");
}
}
Vehicle vehicle = new Vehicle();
vehicle.runRoad("汽车");
vehicle.runAir("飞机");
vehicle.runWater("船");
在类的层级分开

RoadVehicle roadVehicle = new RoadVehicle();
SkyVehicle skyVehicle = new SkyVehicle();
WaterVehicle waterVehicle = new WaterVehicle();
roadVehicle.run("汽车");
skyVehicle.run("飞机");
waterVehicle.run("船");