Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 单件和SRP(单一责任原则)的区别_Oop_Design Patterns - Fatal编程技术网

Oop 单件和SRP(单一责任原则)的区别

Oop 单件和SRP(单一责任原则)的区别,oop,design-patterns,Oop,Design Patterns,Singleton和SRP(单一责任原则)之间的差异你能用简单的语言举例说明这种差异吗 如果一个对象是一个人,singleton意味着世界上只有一个给定类型的人。你找不到世界上还有另一个同类的人 单一责任原则(SRP)意味着一个人只关注并且只能做一件事。因此,即使你是世界上唯一一个特定类型的人(即单身汉),如果你能做很多彼此不相关的事情,你也不够SRP 所以你可以看到,它们是不同的概念,彼此不相关。Singleton是关于某种对象的数量。SRP是关于对象可以做什么的 wikipedia的纯语言解

Singleton和SRP(单一责任原则)之间的差异
你能用简单的语言举例说明这种差异吗

如果一个对象是一个人,singleton意味着世界上只有一个给定类型的人。你找不到世界上还有另一个同类的人

单一责任原则(SRP)意味着一个人只关注并且只能做一件事。因此,即使你是世界上唯一一个特定类型的人(即单身汉),如果你能做很多彼此不相关的事情,你也不够SRP


所以你可以看到,它们是不同的概念,彼此不相关。Singleton是关于某种对象的数量。SRP是关于对象可以做什么的

wikipedia的纯语言解释有什么问题?也就是说,SRP类可以有多个对象?是的。它是由你控制的。如果希望它只有一个对象,那么它就是singleton。否则,它就不是单身