加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

设计模式 – Singleton违反了单一责任原则吗?

发布时间:2020-12-14 04:54:15 所属栏目:百科 来源:网络整理
导读:根据 Single responsibility principle: Every class should have responsibility over a single part of the functionality provided by the software 单例可以防止创建类的多个实例,从而提供对它的全局访问. 但是这个功能与该类的实际功能及其应该提供的
根据 Single responsibility principle:

Every class should have responsibility over a single part of the
functionality provided by the software

单例可以防止创建类的多个实例,从而提供对它的全局访问.

但是这个功能与该类的实际功能及其应该提供的内容无关.

这是否意味着Singleton模式违反了SRP?

解决方法

对于大多数情况,简短回答是否定的同样,它可以取决于Singleton的实现.

单一责任意味着一个类应该只执行一个任务而不是多个彼此无关的任务.因为如果类正在执行多个任务并且需求发生任何变化,也可能会破坏任务的其他功能.这就是为什么总是建议一个类只执行一个任务/功能.

Singleton用于限制仅一个对象创建.这与类功能无关.通常使用Singleton来避免像DB连接那样创建类的繁重多个实例. Singleton确保每个线程或类将使用相同的一致对象,并且不需要同步.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读