繁体   English   中英

Java工厂模式创建对象

[英]Java factory pattern creating objects

我正在设计Java解决方案,并且必须基于属性值创建n个对象。 我正在使用工厂设计模式。

使用形状和形状类型的经典示例

String myShapes="circle,square,circle,rectangle"  // This is from a property file
for ( shapeType : myShapes.split("," ) {
   ShapeFactory shapeFactory = new ShapeFactory();
   Shape shape1 = shapeFactory.getShape(shapeType ); 
   shape1.doSomething(); 
}

有人可以告诉我以下是创建对象的正确方法吗? 我不知道在编译期间必须创建多少个对象。

该设计看起来还不错,但需要包含代码来处理特殊情况。 我列出了几个步骤。 随着任务的进行,您将了解现有设计的局限性。

  • 当您需要创建过多的对象时,您的设计需要提高内存效率。

  • 跟踪对象(跟踪具有相同属性的相似对象)

  • 由于大量对象(在for loop!中创建它们,因此在设计中)需要考虑使用后销毁对象。
    将会占用大量内存!)。

  • 如果垃圾收集器在执行过程中随时捡起对象并销毁它,可以吗? 处理大量对象时,需要实现一个finalize块。

这里是一些相关主题的一些链接。

通过for循环添加具有不同名称的对象

http://www.java-forums.org/new-java/25967-loop-create-objects.html

http://www.java-forums.org/new-java/56024-create-new-objects-loop.html

https://www.java.net/node/675897

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM