Nel tentativo di scrivere del codice generico mi trovo a mettere, nella mia classe astratta, un metodo che restituisce alcune informazioni statiche su come la classe dovrebbe essere trattata. Questo metodo non utilizza dati di stato e sarebbe statico, tranne che i metodi astratti statici non sono consentiti. È un odore di codice? c'è qualcosa che dovresti fare per evitarlo?
Non ho ancora scritto il vero codice. Ecco un rapido esempio, concettualmente. Piccola programmazione slopy da fare per renderla una lettura veloce. fondamentalmente un modo per il codice di restituire informazioni al modello, in questo caso, su come dovrebbe essere trattato all'interno delle funzioni generiche del modello. Supponiamo che l'enumerazione memorizzi qualsiasi stato di configurazione in questo caso.
public abstract modelObject{
public abstract ModelGroup getModelGroup;
public final void addToModel(){
Model.store(this.getModelGroup, this);
}
}
public class myObject extends modelObject{
public ModelGroup getModelGroup(){
return ModelGroup.MyGroup;
}
}
public class DifferentClass extends ModelObject{
public ModelGroup getModelGroup(){
return ModelGroup.differentGroup;
}
}