编程语言
首页 > 编程语言> > java-这是工厂方法的正确用法

java-这是工厂方法的正确用法

作者:互联网

据我了解,工厂设计模式用于创建对象而不是构造函数

在上一个问题中,我解释了我的情况:
我有一个表示为超图的复杂网络
超图顶点来自各种类型:图像,标签….
我应该创建数千个顶点
手动创建将非常困难!
所以我认为工厂模式可以在这种情况下为我提供帮助

我使用yUML绘制了两个可能的图,但是我无法确定最适合我的情况的图

解决方法:

实际上,两者都描述了Factory Method模式.

但是,正如我们所说的多工厂一样,第一个形象是一种更好,更少耦合,更可扩展,更易于维护的方法.

只是,在第一个图像中,由于您的图表还很小,因此最好在AbstractVertexFactory到Vertex之间放置一条虚线,因为这些类之间的距离为dependency relationship.

此外,第二个图像缺少所有虚线的依赖线.这不会使该图不正确,并且仍会描述工厂方法模式,唯一的缺点是,如果没有提到这些行,它将更加混乱.

为什么第一个比第二个更好的解释:

>耦合较少:在第一种情况下,如果更改/删除TagVertex,则不会影响ImageFactory(以及可能的其他工厂)的客户端.
>更具可扩展性和易于维护性:相同的原理.如果更改产品(方案中为Vertex)类,则不会影响其他工厂的客户.您也可以自由添加工厂,而无需更改现有代码.

标签:graph,factory-pattern,java,design-patterns
来源: https://codeday.me/bug/20191031/1972452.html