温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java单一职责原则有什么优势

发布时间:2021-12-14 14:52:02 来源:亿速云 阅读:105 作者:iii 栏目:大数据

本篇内容主要讲解“java单一职责原则有什么优势”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java单一职责原则有什么优势”吧!

单一职责原则(SRP),The Single Responsibility Principle

定义

一个类的修改只能有一个被修改的原因。

通俗地讲,就是一个类只能负责一个职责,修改一个类不能影响到别的功能,也就是说只有一个导致该类被修改的原因。我们写代码的都知道尽量要做到低耦合、高内聚的特性,单一职责原则正是保证了类与类之间的低耦合性。一个类如果承担过多的职责,就会有很多原因来导致这个类的被修改,就有很大可能性影响到别的功能。

单一职责原则,看起来是一个非常简单的原则,但真正实践起来也并非易事,因为职责的联合在实际当中是经常遇到的事,也不能随便地去拆分类去适配单一职责模式,所以如何从这些联合的职责中合理地把职责分隔出来更合适的遵守单一职责原则要好好考虑。

看看下面这这个接口是否符合单一职责原则呢?

public interface UserInterface {

    void saveUser(User user);

    User getUser(long id);

    void updateUserBalance(long id, BigDecimal balance);

    BigDecimal getUserBalance(long id);

}

这是一个用户接口,提供四个方法:保存用户、获取用户、更新用户余额、获取用户余额,很显然用户个人信息与用户的账户余额是两回事,这样设计在一起耦合非常高,不利于扩展,也不符合单一职责原则,我们可以把它折分成两个,一个为用户信息接口,一个账户接口,如下

public interface UserInterface {

    void saveUser(User user);

    User getUser(long id);

}

public interface AccountInterface {

    void updateUserBalance(long id, BigDecimal balance);

    BigDecimal getUserBalance(long id);

}

这样分开来,是不是就符合了单一职责原则,类的复杂性和耦合性也降低了,即使用户接口或账户接口加减接口也不影响别的接口实现类。

所以,单一职责原则可以总结为以下优势:

1、低耦合性,影响范围小。

2、类复杂度降低,职责分明,提高了可读性。

3、职责单一,利于维护。

到此,相信大家对“java单一职责原则有什么优势”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI