ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-31 01:59:53  阅读:279  来源: 互联网

标签:graph factory-pattern java design-patterns


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

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

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

解决方法:

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

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

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

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

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

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

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有