5

yo soy un novato cuando se trata de la utilización de clases de fábrica y métodos, patrones, etc - de hecho me enteré de ellos aquí en Stackoverflow cuando se navega por las preguntas relacionadas Java :-)¿Qué se considerarían buenos ejemplos de implementación del patrón de generador cuando se usa en el desarrollo de una GUI?

En respuesta a una anterior question se sugirió que examine el uso del patrón de construcción en el desarrollo de mi GUI, por lo que busco buenos ejemplos fáciles de entender que demuestren cómo se podría comparar la interfaz de usuario de una aplicación utilizando este patrón y encadenamiento de métodos, etc.

Gracias por leer.

Respuesta

4

Joshua Bloch Item 2: Consider a builder es siempre un buen punto de partida. En cuanto al desarrollo de la GUI, muchos administradores de diseño usan el patrón del constructor. A Visual Guide to Layout Managers es una buena introducción.

+0

Gracias a Dios, he votado y he aceptado esto como la respuesta debido al excelente artículo de Dr.Dobbs. –

+0

BTW, el artículo 2 es un extracto de _Effective Java_ de Joshua Bloch, 2da ed. http://java.sun.com/docs/books/effective/ – trashgod

3

Creo que "Source Making" hace un buen trabajo al introducir patrones de diseño (así como UML, Antipatterns y Refactoring). Es posible que desee verificar el sitio.

Usted puede leer sobre el Generador de aquí: de Source Making: Builder Design Pattern

+0

inicialmente descarté esto, pero el constructor la discusión incluye buenos ejemplos de _antes_ y _después_ en varios idiomas: http://sourcemaking.com/design_patterns/builder – trashgod

+0

+1 The source maki ng book es en mi humilde opinión mucho más agradable de leer que el libro de GoF. – helpermethod

+0

Hola S.Jones - Excelente enlace, gracias por compartir :-) –

4

Probablemente haya otros (y mejores) ejemplos, pero aquí hay uno.

Cuando se trabaja con GridBagConstraints, se podría utilizar esta horrible constructor:

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

Pero considero que es inutilizable. Y la mayoría de las veces las personas terminan usando el constructor vacío y configurando varios atributos públicos para anular los valores predeterminados.

Como alternativa, se podría utilizar un constructor, algo como esto:

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

sólo un ejemplo.

+0

Uno ve algo similar en el editor de GUI de NetBeans con 'GroupLayout': http://stackoverflow.com/questions/2561540 – trashgod

+0

Cay Horstmann tiene un gran ejemplo de un generador de GBC como este también ... http://www.horstmann.com/articles/GBC.java –

Cuestiones relacionadas