Vij*_*jay 3 c++ design-patterns
我知道C++中的单例模式,但是如何获得对象的两个实例?有没有这样的模式,我们可以很容易地获得两个对象?
我能想到的逻辑是,我可以改变单例模式本身,在类中创建两个对象.这是有效的,但如果需求增长,就像我需要3个或仅4个对象一样,那么满足这种要求的设计模式是什么?
在软件设计中,主体是"只有三个数字:0,1和无穷大",这意味着任意限制是不好的.有时只有一个资源(例如日志文件)有充分的理由.一旦你有多个,任何任意限制最终都会成为一个问题.因此,如果您需要多个资源或对象,您将需要一个可以包含任意数字的池.您还需要一些方法来选择将哪个资源分配给池.
如果你能真正为这种模式提出令人信服的用例,我会很难受.正如你已经提到的那样,一般共识已经转移到单身作为反模式:很难将它概括为更多的实例并且与全局变量没有区别(我们已经将其建立为反模式,对吧?)
也许你应该考虑你的设计,或者为此提出一个引人注目的例子.
class myclass {...};
myclass obj1;
myclass obj2;
Run Code Online (Sandbox Code Playgroud)
有时,简单的方法确实是最好的.您不需要强制只存在一个,两个,十三个或七十八个实例.
如果需要两个,只需创建两个实例.