设计原则——单一职责原则

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("船");

在类的层级分开

屏幕快照 2019-08-22 下午6.54.07.png
RoadVehicle roadVehicle = new RoadVehicle();
SkyVehicle skyVehicle = new SkyVehicle();
WaterVehicle waterVehicle = new WaterVehicle();
roadVehicle.run("汽车");
skyVehicle.run("飞机");
waterVehicle.run("船");
上一篇 下一篇

猜你喜欢

热点阅读