我正在学习不同的设计模式,但我强烈感觉在理解这个特定的模式时缺少了一个重要的部分(或多个部分)。
在我查看的所有网站和GoF书籍中,我都看到了克隆方法。据我所知,当我们需要不同版本的某个对象时,可以克隆某种类型的对象,但我们不想使用“new”命令(如在Java中)手动创建每个对象。这可以隐藏具体实现。因此,当我们克隆时,我们可以微调克隆并使其成为我们所需的,而无需知道如何最初以困难的方式创建该对象。我的思考是否正确?
我还被告知,这可以减少子类化,从而减少需要制作的类的数量。我不太理解这一部分。能否有人帮助我理解?
我的最后一个问题涉及抽象工厂(甚至工厂方法)模式。这些工厂模式和原型模式感觉都试图在创建新对象时隐藏具体实现。选择其中之一是一个好主意吗?
谢谢大家!