2009-08-07 8 views
5

Sto lavorando a un'applicazione GUI flessibile che può avere ~ 12 layout diversi. Questi layout sono tutti ben definiti e non cambieranno. Ogni layout è costituito da più widget che si interfacciano con una DLL utilizzando modelli di bit. Sebbene la maggior parte dei widget sia la stessa, i modelli di bit utilizzati variano in base al tipo di interfaccia presentato.Interfaccia XML vs hardcoded?

Il mio istinto è di usare l'ereditarietà: definire un "pannello" generico e avere sottoclassi per le diverse configurazioni. Tuttavia, ci sono parti dell'interfaccia che sono definite dall'utente e sono specificate per essere specificate in un file XML.

L'intero pannello deve essere definito in XML o solo nelle sezioni configurate dall'utente?

risposta

10

YAGNI: Progetta le schermate per i requisiti correnti, che specifichi specificatamente non cambieranno. Se un anno dopo la linea è necessaria più personalizzazione, renderla più personalizzabile quindi, non ora.

KISS: se si utilizza i risultati XML nel codice meno complesso ed è più semplice di sottoclassi, l'uso di XML. Se la sottoclasse produce meno codice, utilizza la sottoclasse. L'esperienza mi dice che la sottoclasse è più semplice.

1

La mia sensazione è che si dovrebbe fare tutto ciò che vi darà la maggiore flessibilità per cambiare idea, aggiungere nuove funzionalità o regolare il layout in futuro.

+5

Consigli pericolosi. Programma nel tempo futuro, sì, ma sempre preferendo la flessibilità può creare un incubo di manutenzione senza alcun beneficio effettivo. – gimpf

Problemi correlati