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

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

成都创新互联公司长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为秀屿企业提供专业的网站设计、网站建设秀屿网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

单一职责原则(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单一职责原则有什么优势”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:java单一职责原则有什么优势
转载注明:http://azwzsj.com/article/gcisig.html