设计模式的七大原则之单一职责原则

  1. 定义
    单一职责原则就是指一个类只实现某一个特定的功能,职能是单一的
  2. 好处
    可以降低类的复杂度。
    提高类的可读性,可维护性。
    降低变更的风险。
  3. 以交通工具例子
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方法,符合单一职能原则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值