Domanda

Questa domanda ha già una risposta qui:

Quindi, abbiamo un ragazzo a cui piace scrivere metodi che prendono oggetti come parametri, in modo che possano essere "molto flessibili". Quindi, internamente, o fa sovraccarico di fusione diretta, riflessione o metodo per gestire i diversi tipi.

Sento che questa è una cattiva pratica, ma non riesco a spiegare esattamente perché, tranne per il fatto che rende più difficile leggere. Ci sono altre ragioni più concrete per cui questa sarebbe una cattiva pratica? Cosa sarebbero quelli?


Quindi, alcune persone hanno chiesto un esempio. Ha un'interfaccia definita, qualcosa di simile:

public void construct(Object input, Object output);

E ha in programma di usarli mettendo diversi in un elenco, quindi in qualche modo costruisce bit e li aggiunge all'oggetto di output, come: così:

for (ConstructingThing thing : constructingThings)
    thing.construct(input, output);
return output;

Quindi, nella cosa che implementa construct, c'è una cosa di riflessione traballante che trova il metodo giusto che corrisponde all'ingresso/output e lo chiama, passando input/output.

Continuo a dirgli, funziona, capisco che funziona, ma anche mettendo tutto in una singola classe. Stiamo parlando di riutilizzo e manutenibilità, e penso che si stia effettivamente vincolando e abbia meno riutilizzo di quanto pensa. La manutenibilità, sebbene probabilmente alta per lui in questo momento, sarà probabilmente molto bassa per lui e per chiunque altro in futuro.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top