Nel progetto su cui lavoro, gestiamo la fatturazione medica.Versioning di classe per supportare la retrocompatibilità
Ogni volta che lo stato apporta una modifica alla forma ufficiale (che rappresentano le nostre classi di dati), per mantenere la compatibilità con le forme precedenti, aggiungiamo le nuove proprietà ma lasciamo intatte quelle precedenti e disponiamo di una versione del documento proprietà che viene utilizzata per determinare cosa viene eseguita la convalida e le azioni dell'interfaccia utente per visualizzarlo.
Questo ha portato a classi gonfiate per tutta la durata del progetto (quasi 5 anni di modifiche imposte dallo Stato), e semplicemente non supportare i vecchi formati di documenti non è un'opzione.
Mi piacerebbe provare a creare una nuova classe per ogni versione del documento, ma anche in questo caso avremo diverse copie di codice molto simile (sebbene leggermente modificato). E i nomi delle classi come ProgressNoteV16, ProgressNoteV17 sembrano orribili.
L'ereditarietà non può essere utilizzata, perché ciò comporterebbe comunque lo stesso problema (classi con proprietà che non sono più necessarie). Le interfacce renderebbero l'interfaccia altrettanto gonfia, il che non risolverebbe il problema.
Quali sono le soluzioni e le migliori pratiche utilizzate per risolvere questo problema?
Grazie, stiamo avendo la possibilità di ripensare il nostro design a causa di una potenziale revisione del modo in cui il governo federale sta facendo le cose.Questo schema ti aiuterà molto ad esplorare le possibilità –
NP. E buona fortuna. avere l'abilità di raggiungere qualcuno altre agenzie come DHS (Human Services) o DIS (Immigration Services) hanno questo problema su vasta scala e potrebbero essere in grado di fornirti alcune buone informazioni. – GrayWizardx
Mi sono imbattuto in questo perché ho iniziato a vedere le "date" nei nostri nomi di classe, vale a dire ClassA, ClassA20100901, ClassA20101201. Mi è stato spiegato come: ClassA è valido/usato fino al 1 ° settembre, quindi verrà utilizzato Class20100901, quindi il 1 ° dicembre l'ultima classe diventa attiva. Questo è un odore ENORME che qualcosa non va. Lo digerirò e lo proporrò alla squadra. Fornirò una risposta se dovessimo trovare qualche suggerimento. Grazie! –