2013-10-22 88 views
3

像往常一样建立与不同的设计模式的项目建筑师总是喜欢那个特定的设计模式的有利观点。但有时候需要了解违规领域和项目未来扩展方面的劣势。我现在正在使用抽象工厂设计模式。我了解它,但无法弄清它的缺点,它的局限性,哪里会失败。有人可以给我解释一下Abstract Factory设计模式的另一种观点吗?抽象工厂设计模式的缺点是什么?

回答

3

首先,在任何设计模式下,您都会添加更多的抽象层和复杂性,所以只有在没有明显的痛苦时才应用模式。这与Bob Martin的“Take the bullet”和Nathan Marz的“Suffering-Oriented Programming”类似。

随着抽象工厂,特别是决定哪个工厂在运行时使用。通常,这是在一些代码中完成的,该代码致力于通过基于一些关键信息的条件分支来提供正确的工厂。这意味着随着更多工厂的建立,这个中心决策点必须进行修改。这很烦人。

最后,如果一个工厂的任何底层细节有任何更改,则可能需要修改所有工厂的界面。这打破了客户。像往常一样,要非常小心地选择接口。