Metodologia per la progettazione di una nuova applicazione che alla fine verrà unita in una vecchia applicazione

StackOverflow https://stackoverflow.com/questions/841185

  •  20-08-2019
  •  | 
  •  

Domanda

Attualmente faccio parte di un team che sta sviluppando una nuova applicazione autonoma in C #. L'obiettivo finale è quello di inserire questa app autonoma in un'applicazione più ampia precedentemente sviluppata che riguarda gli stessi processi.

La mia domanda è questa: sto cercando informazioni su metodologie o processi che aiutano con A) Progettazione di detto codice più recente, soprattutto quando il codice più vecchio non è il miglior sistema più gestibile, e B) integrazione di detta nuova applicazione .

Ovviamente non ci sarà nulla di specifico là fuori, le nostre applicazioni sono uniche nel design e quindi avranno specifiche che nessuna metodologia può aiutare. Sono comunque interessato a ottenere alcune buone conoscenze generali sull'argomento.

Modifica I suggerimenti finora, rifattorizzano il vecchio codice, costruiscono il nuovo codice come contenitore per i moduli e coprono il vecchio e il nuovo codice nei test unitari, sono tutte buone pratiche in generale e sono cose che pratico quando possibile. Mi sembra però che queste sarebbero singole parti di una metodologia globale.

È stato utile?

Soluzione

Prima di tutto, devi capire come funziona internamente la vecchia applicazione. Come gestisce il flusso di lavoro, le sessioni, i privilegi dell'utente ecc.

Quando si progetta il nuovo codice, è necessario prestare particolare attenzione alla creazione di componenti piccoli e riutilizzabili in un approccio a più livelli. Naturalmente, non è niente di speciale, i bravi programmatori cercheranno sempre di farlo, ma è più cruciale in uno scenario specifico. Ad un certo punto, per renderlo un'applicazione autonoma, dovrai replicare alcune parti già esistenti nella vecchia applicazione, ad es. schermata di accesso, gestione del flusso di lavoro, ecc. Assicurati di riutilizzare quelle parti dal vecchio sistema o di rendere le API delle nuove parti compatibili e separate dalla logica aziendale principale. In questo modo, sarà molto più semplice integrare la nuova applicazione in quella precedente.

Altri suggerimenti

Non sono sicuro che questa sia la risposta che stai cercando in quanto non riguarda la metodologia ma piuttosto l'architettura dell'applicazione.

Detto questo, se progettate il vostro stand-alone come un contenitore leggero che ospita i componenti dell'applicazione, state in effetti consentendo la migrazione dei componenti in un contesto più ampio in un momento successivo.

Fowler consiglia di refactificare il vecchio codice. Ci vorrà del tempo ma:

A) sarà più facile integrare questo codice con il tuo nuovo codice;

B) tu e il tuo team capirete meglio il vecchio codice.

Nel tuo caso, penso anche a coprire il tuo codice e forse il vecchio codice con i test unitari.

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