与往常一样,为了用不同的设计模式构建项目,架构师总是更喜欢这种特定设计模式的有利视图。但有时,它需要了解什么应该是违反领域和缺点,在未来的项目延期。我现在正在使用抽象工厂设计模式。我理解它,但无法找出它的缺点,它的局限性,哪里会失败。有人能给我解释一下抽象工厂设计模式的另一个观点吗?
发布于 2013-10-22 04:39:44
首先,对于任何设计模式,您都要添加更多的抽象层和复杂性,因此,只有在没有这种模式的痛苦明显时才应用该模式。这与鲍勃·马丁的“第一颗子弹”和内森·马兹的“面向苦难的程序设计”的想法相似。
特别是抽象工厂,决定使用哪个工厂是在运行时做出的。通常,这是在一些代码中完成的,这些代码通过基于某些关键信息的条件分支来提供正确的工厂。这意味着,随着更多工厂的创建,必须修改这个中心决策点。太烦人了。
最后,如果对一个工厂的任何底层细节有任何更改,则可能需要为所有工厂修改接口。这会破坏客户的利益。因此,和往常一样,在接口的选择上要非常小心。
https://stackoverflow.com/questions/19508928
复制相似问题