java设计基本原则----单一职责原则

一: 单一职责原则

单一职责原则按照表面的意思来说就是一个接口一个类一个方法只负责一个事情。

以电话接口为例:
在这里插入图片描述

public interface IPhone {
     //拨通电话
     public void dial(String phoneNumber);
     //通话
     public void chat(Object o);
     //通话完毕,挂电话
     public void hangup();
}

当我们要使用电话功能的时间,只需要实现这个接口,就可以了。 但是现在我们有手机和电话两种通信设备了。 如果他们的拔通电话 和挂断电话的功能一样, 但是通话的功能不一样。我们这个接口就不能使用。 因为他的职责不够单一。

我们需要将接口重新设计。

在这里插入图片描述
这样我们就有连接管理接口,有了数据传输接口。

使用场景:
我们有两个通信设备,一个智能手机,一个传统的座机。 他们拔通电话,挂断电话的方法是一样的。 但是通话方法是不一样的。 手机类可以实现这两个接口,座机类也以实现这两个接口。或者一个接口。 这样两个通信设备的连接方法不一样, 我们只需要重写通信方法就可以了。

在这里插入图片描述
这个只是接口的单一原则,像我们经常用到一个方法修改用户信息 ChangeUser(SysUser user)
可以改成
在这里插入图片描述

单一原则的好处

● 类的复杂性降低,实现什么职责都有清晰明确的定义;

● 可读性提高,复杂性降低,那当然可读性提高了;

● 可维护性提高,可读性提高,那当然更容易维护了;

● 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

最佳实践

我们平时开发当中, 由于开发时间的原则很难做到完成的单一原则。而且对于单一职责的划分,也没有一个统一的标准。 我们建议就是要尽量做到接口和方法的单一职责。 而对于类尽量简短就好了。

欢迎加qq群交流

659772197

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值