In un'applicazione gestionale che ho realizzato, ho seguito un approccio del tutto simile.Originariamente inviato da Mco2983
Per proseguire lo sviluppo di questa applicazione, ho in testa di utilizzare un unico frame per la visualizzazione degli archivi in elenco: quindi un unico frame con una DBgrid, un DataSetProvider, un ClientDataSet, un DataSource, un pannello in cui gestire filtri di ricerca dati.
Secondo me, la strada scelta è buona come base di partenza, ma io implementerei in modo diverso le "viste specializzate".Originariamente inviato da Mco2983
Mi chiedevo: ho fatto una boiata pazzesca oppure è un metodo valido?
In quest'ultimo caso, per passare i parametri, dichiaro delle variabili public nel frame?
Usando un unico Frame per tutte le viste dati, si dovrà andare a scrivere una marea di codice per personalizzare - in base alla vista specifica - le colonne, i filtri, le query e tutto il resto.
Utilizzare una classe base generica che implementi una "vista comune" è positivo, ma invece di codificare tutte le personalizzazioni per adattare quell'unico Frame a tutte le visualizzazioni, io andrei a creare dei discendenti, uno per ogni vista, in cui a designtime si vanno a modificare query, colonne, filtri, comandi, ecc.
In pratica, non si scrive codice per customizzare un unica interfaccia, ma si usa l'interfaccia creata come base per costruirne di nuove, che ereditino tutta l'implementazione comune dalla prima e vadano ad aggiungere tutto ciò che serve.
Chiaramente, la bontà dell'implementazione dipende poi dalla cura e dalla precisione con cui si separano le parti comuni (nella classe base) da quelle specializzate (nelle classi discendenti).
Ciao!![]()

Rispondi quotando