Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javabean实例化方法_Java_Design Patterns_Javabeans - Fatal编程技术网

javabean实例化方法

javabean实例化方法,java,design-patterns,javabeans,Java,Design Patterns,Javabeans,这是一个关于代码结构而不是语法的问题。我正在用多个JavaBean对象构建一个程序。JavaBean有一个无参数构造函数。通常当我想要豆子的时候我会 MyBean bean = new MyBean(); bean.setPropertyOne("Foo"); bean.setPropertyTwo("Bar"); 如果我有12种bean类型,并且每次需要一个新bean时我都在不断地重写上面的版本,那么这似乎有很多潜在的冗余。有一个接受参数的构造函数更有意义,但这与JavaBean设计模式背道

这是一个关于代码结构而不是语法的问题。我正在用多个JavaBean对象构建一个程序。JavaBean有一个无参数构造函数。通常当我想要豆子的时候我会

MyBean bean = new MyBean();
bean.setPropertyOne("Foo");
bean.setPropertyTwo("Bar");
如果我有12种bean类型,并且每次需要一个新bean时我都在不断地重写上面的版本,那么这似乎有很多潜在的冗余。有一个接受参数的构造函数更有意义,但这与JavaBean设计模式背道而驰。我认为创建一个独特的数据类可能是有意义的,该类具有所有不同Bean的所有Bean创建方法,然后在每次需要时通过该类获得所需的Bean。这将使代码保持模块化。然后,我可以按如下方式访问bean:

MyBean bean = myBeanCreationUtility.makeMyBean("Foo", "bar");

在编写软件时,通常使用什么样的设计模式来构造此结构?

工厂模式是您需要的。检查是否包含多个设计模式,包括创造性模式,如Factory方法或抽象工厂。

Factory模式您不能只使用HashMap吗?或者你也可以看看Kotlin,它大大简化了POJO:你可以创建一个不带参数的构造函数(保留为空)和一个带参数的构造函数。@JayBlack是的,你可以在这里检查创建模式,看看哪一个更适合你的用例@JayBlack更好地阅读该页面:它说,像我一样,如果类至少有一个接受一个或多个参数的构造函数,那么它还必须有一个没有参数的构造函数才能被称为JavaBean“。工厂方法和抽象工厂都与实例化Java bean没有任何关系。不过,构建器模式是一种选择。是的,它们是这样的,因为它们也是创造性模式和构建器。一件事不排除另一件事,JavaBean排除了GoF工厂模式。