我正在学习不同的devise模式,我有一种强烈的感觉,我错过了理解这种特定模式的基本部分(或多个部分)。 在我看过的所有网站和GoF书中,我都看到了克隆方法。 据我所知,当我们需要不同版本的对象时,我们可以克隆一些types的对象,但是我们不需要使用“new”命令(如在Java中)手动创build每个对象。 这可以隐藏其具体实现。 所以当我们克隆的时候,我们可以稍微调整一下克隆,使之成为我们所需要的,而不必知道如何最初创build这个对象。 这是我的想法是否正确? 我也被告知,这可以减less子类,并随后减less你需要做的类的数量。 我不太了解这部分。 有人能帮我把握这个吗? 我最后的问题是关于抽象工厂(甚至工厂方法)的模式。 这些工厂模式和原型模式觉得他们试图在创build新对象时隐藏具体的实现。 什么时候select其中一个是个好主意? 谢谢你们!