DesignPattern_01_单一职责原则


设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案.
设计模式使程序具有:

  1. 代码重用性
  2. 可读性
  3. 可扩展性
  4. 可靠性
  5. 使程序呈现高内聚低耦合的特性

单一职责

对于类来说,即一个类只负责一项职责.

注意事项

  1. 降低类的复杂度,一个类只负责一项职责
  2. 提高类的可读性,可维护性
  3. 降低变更引起的风险
  4. 在通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则:只有类中方法数量足够少,可以在方法级别保持单一职责原则

代码

/**
 * @Author: huangqh
 * @Date: 2020/8/12 
 * @Note: 单一职责原则
 */
public class SingleResponsibility {
    public static void main(String[] args) {
        //不遵守单一职责原则____01
        Vehicle vehicle = new Vehicle();
        vehicle.run("car");
        vehicle.run("airplane");

        //支持单一职责原则,代码改动较大___02
        RoadVehicle roadVehicle = new RoadVehicle();
        SkyVehicle skyVehicle = new SkyVehicle();
        roadVehicle.run("car");
        skyVehicle.run("airplane");

        //没有对原来的类进行大的修改,增加了方法.__03
        VehicleRun vehicleRun = new VehicleRun();
        vehicleRun.runSky("airplane");

    }
}
/**
 * ___01
 * 交通工具类 Vehicle(违反单一职责原则)
 * 1. run方法中,违反了单一职责原则
 * 2. 根据交通工具运行方法不同,分解成不同类即可
 */
class Vehicle{
    public void run (String vehicle){
        System.out.println(vehicle +"   running in road");
    }
}
/**
 * ___02
 * 支持单一职责,代码改动大
 */
class RoadVehicle{
    public void run (String vehicle){ System.out.println(vehicle + " running in road"); }
}
class SkyVehicle{
    public void run (String vehicle){ System.out.println(vehicle+"  fly in sky"); }
}
/**
 * ___03
 *虽然没有在类级别上单一职责原则,
 *但是在方法级别上仍然是遵守单一职责原则
 */
class VehicleRun{
    public void runRoad(String vehicle){ System.out.println(vehicle  + "__run on the road"); }
    public void runSky(String vehicle){  System.out.println(vehicle+ "__run in the sky");  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值