您的位置:首页 > 其它

Why singleton is bad?

2016-06-28 20:55 232 查看
Paraphrased from
Brian Button:

They are generally used as a global instance, why is that so bad? Because you hide the dependencies of your application in your code, instead of exposing them through the interfaces. Making something global to avoid passing it around is a
code smell.

They violate the
single responsibility principle: by virtue of the fact that they control their own creation and lifecycle.

They inherently cause code to be tightly
coupled. This makes faking them out under test rather difficult in many cases.

They carry state around for the lifetime of the application. Another hit to testing since you can end up with a situation where tests need to be ordered which is a big no no for unit tests. Why? Because each unit test should be independent from the other.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  singleton