Design di alto livello per contenuti dinamici da cui dipende la base di codici

1

Ho lavorato per oltre 10 mesi su un progetto legacy (sì, in PHP, che sorpresa!) che ha gli ID dei database codificati in tutto il codebase. Ovviamente questo crea problemi come non possiamo mantenerlo senza una discarica di produzione, senza test, ecc. Ho già vomitato per questo.

Andando avanti, c'è un caso particolare in cui non riesco a vedere come NON avrei codificato hardcoded un contenuto generato dinamicamente:

C'è una schermata con un modulo e sul lato un pulsante di "aiuto" che è un link alla "politica aziendale" riguardante le informazioni su tale modulo.

Tale politica è creata dinamicamente, aggiornata, ecc. da uno dei nostri reparti, in un diverso modulo del nostro sistema.

Non vedo un modo per non codificare l'url /politics/12 su detto pulsante; e dal momento che probabilmente esiste un'azione di eliminazione nel modulo politico, un modo per impedirne l'interruzione se eliminato.

Come sono progettati i componenti (come detto modulo) che dipendono dalle risorse generate dinamicamente?

    
posta Christopher Francisco 21.07.2017 - 18:25
fonte

1 risposta

2

Questo diventa un problema quando:  1. Esiste un concetto di valori di ricerca (un concetto non valido al di fuori del DDD)  2. Un'applicazione è progettata attorno al database anziché attorno alle entità concettuali

L'introduzione di una chiave naturale specifica per l'applicazione potrebbe essere utile qui, va bene che i valori dei reparti siano hardcoded, un'applicazione non può mai, né dovrebbe essere, completamente dinamica.

Hai una chiave codificata, 'Dipartimento', nel database, collega il 'Dipartimento' al testo blurb id 12. Il testo blurb, non il dipartimento è ciò che deve essere dinamico.

Quindi il tuo URL può assomigliare a questo: / Polictics / reparto

    
risposta data 21.07.2017 - 18:39
fonte

Leggi altre domande sui tag