在用于GUI开发时,实现构建器模式的优秀示例是什么?

时间:2010-08-28 23:19:25

标签: java user-interface swing method-chaining builder-pattern

当涉及到工厂类和方法,模式等的使用时,我是一个完全新手 - 实际上我在浏览Java相关问题时首先在Stackoverflow上学习它们: - )

为了回应我之前的question,建议我在开发GUI时使用Builder模型,因此我正在寻找易于理解的示例,演示应用程序的用户界面如何使用这种模式和方法链等等。

感谢阅读。

4 个答案:

答案 0 :(得分:5)

可能有其他(和更好的)示例,但这里有一个。

使用GridBagConstraints时,可以使用这个可怕的构造函数:

public GridBagConstraints(int gridx, int gridy,
                          int gridwidth, int gridheight,
                          double weightx, double weighty,
                          int anchor, int fill,
                          Insets insets, int ipadx, int ipady) 

但我认为它无法使用。人们通常最终使用空构造函数并设置各种公共属性来覆盖默认值。

作为替代方案,可以使用构建器,如下所示:

somePanel.add(
    getContent(),
    new ConstraintsBuilder()
        .gridLocation(1, 1)
        .gridSize(1, 1)
        .weight(0.0, 0.0)
        .anchor(NORTHWEST)
        .build() );

只是一个例子。

答案 1 :(得分:4)

Joshua Bloch的Item 2: Consider a builder总是一个好的开始。关于GUI开发,许多布局管理器使用构建器模式。 A Visual Guide to Layout Managers是一个很好的介绍。

答案 2 :(得分:3)

我认为“Source Making”在引入设计模式(以及UML,Antipatterns和Refactoring)方面做得很好。您可能想要查看网站。

您可以在此处阅读有关构建器的信息:Source Making: Builder Design Pattern

答案 3 :(得分:2)

这是与构建UI相关的很好的BuilderPattern示例。 (如果您了解Builder Pattern,则没有解释但很容易理解)

http://www.java2s.com/Code/Java/Design-Pattern/BuilderPatternExample.htm

Builder Pattern更多信息:

http://www.allapplabs.com/java_design_patterns/builder_pattern.htm

http://www.java2s.com/Code/Java/Design-Pattern/BuilderPatterninJava.htm