Este artículo pertenece a la serie de tutoriales Eclipse JDT.
¿Qué es el modelo Java?
El modelo Java es el conjunto de clases que modelan los objetos asociados con la creación, edición y construcción de un programa Java.
Está definido en el paquete org.eclipse.jdt.core. En consecuencia, las clases que no son de API se definen en el paquete org.eclipse.jdt.internal.core. Verá su relación en la siguiente sección.
En el diagrama siguiente, se muestra un proyecto simple en la vista Explorar paquete. Cada elemento se asigna a algún IJavaElement. Todas esas clases extienden directamente o no directamente la clase IJavaElement, y hay muchas otras clases distintas a las que se muestran en el diagrama. Si desea ver más, puede ir a la referencia 2 para ver toda la jerarquía.
El diseño de la manija / información
Tomemos IJavaElement, por ejemplo, ya que es el protocolo común para todos los elementos proporcionados por el modelo Java. Otros elementos de Java tienen el mismo diseño (por ejemplo, IType, IMethod, etc.). Los elementos del modelo Java se exponen a los clientes como identificadores del elemento subyacente real.
En realidad, el patrón de diseño aquí es una mezcla de Proxy y Bridge. Esos patrones no son exactamente los mismos que se definen. Puede seguir los enlaces para ver qué es una implementación canónica del patrón Proxy y Bridge.
La ventaja de este diseño:
1. El identificador (IJavaElement) es una clave para un elemento. Definen comportamientos de cada elemento, pero no guardan ninguna información de estado.
2. Un objeto de información almacena el estado del elemento. Solo hay un implementador (JavaElement) para un identificador, por lo que es un Bridge simplificado.
* Los recursos centrales de Eclipse tienen un diseño similar.
Referencias:
2. Jerarquía para el paquete org.eclipse.jdt.core