2013-02-08 66 views

回答

2

通常,您的子类知道超类,但您的超类不知道有关子类的任何信息。其原因是为了避免让超类依赖于子类。更少的依赖性使代码重用更容易。

有时候,它会让事情变得方便,打破该规则,让你的超类知道子类并创建它们的实例,但在其他情况下,这是不可能的。例如,当您创建第三方库的扩展时,无法编辑库中的超类,您必须扩展它。这是很好的设计,因为它可以防止他们的图书馆依赖于你的扩展。在较小的项目中,它可能不那么重要,但是对于较大的项目,避免不必要的依赖关系可以重复使用一段代码,而无需拖拽大量不需要的类。

+0

感谢您绝对完美的答案。现在我知道我为什么要使用工厂。 – 2013-02-08 20:13:43

+0

你也可以检查这个问题吗? – 2013-02-08 22:22:16

+0

对不起,我原谅了链接,http://stackoverflow.com/questions/14781518/what-is-the-right-way-to-implement-factory-pattern – 2013-02-08 22:23:15