Pasé de Java 1.4 (empresa anterior) a Java 1.6 (nueva compañía). Lo que he observado es que en el caso de 1.4, la mayoría de los marcos de propiedad se definieron utilizando interfaces y patrones de plantillas, mientras que con 1.6 la mayoría de los marcos se definen en torno a los genéricos.Genéricos vs. Interfaces
Mientras sigo tratando de controlar Generics, mi pregunta es: ¿este es un enfoque de diseño correcto? Las interfaces hacen que su diseño sea más flexible/desacoplado. Mientras que los genéricos, implementan la seguridad de tipo y lo obligan a pasar alrededor de un tipo específico de clase. Realmente no ayuda a desacoplar su código. ¿Es esto correcto?
Un ejemplo -
public MyWizard extends SignupWizard<SignupSection, SignupObject, SignupListener, SignupView>{
}
en lugar del diseño sería más flexible si era ..
public interface Wizardable{
public SignableSection getSection();
public SignableObject getSignableObject();
...
}
public MyWizard implements Wizardable{
....
}
Por favor, mejore su ejemplo. Por ejemplo, ¿cuál es la definición de SignupWizard? Dé algunos ejemplos concretos de marcos en los que se usan genéricos de la manera en que usted habla. La pregunta de "genéricos vs. interfaces" no tiene mucho sentido para mí, porque a menudo ambos se usan juntos. "Anotaciones vs. interfaces" tiene más sentido. –
Parece el tipo de cosas que esperaría en C++, no en Java. –