Quando si frattura una progettazione di applicazioni Web in più prodotti

3

Hai riscontrato questo problema?

Stai creando un'applicazione Web complessa per un mercato di destinazione e dopo un po 'raggiungi un punto in complessità in cui non puoi decidere se stai creando più di un prodotto.

Una decisione deve essere presa. Aggiungete funzionalità per trasformarlo in un framework per più domini o resistete alla tentazione e concentratevi solo su un unico prodotto.

Ti darò un esempio teorico;

Stai costruendo un'applicazione web per la revisione di film e programmi televisivi. Gli utenti possono accedere e scrivere le proprie recensioni. Dopo mesi di duro lavoro, inizi a vedere quanto sarebbe utile l'applicazione per la revisione di Automobiles. Tutti i termini / temi sono per l'industria cinematografica / televisiva. Quindi dovresti refactoring e prendere in considerazione una struttura multi-sito per eseguire l'applicazione web per due diversi mercati.

Come si chiama questo tipo di problema e come si fa a sapere quando è opportuno e opportuno non suddividere il progetto in più domini.

    
posta cgTag 10.08.2013 - 13:21
fonte

1 risposta

3

Duro. Resisterei all'impulso, a meno che tu non abbia una domanda precisa per un sito di recensioni automobilistiche.

In questo caso: prepara la base di codice per consentire termini e temi diversi in specifiche istanze del sito. Molto simile al sistema di tag sulla rete stackexchange. Il sistema di tag è condiviso, ma il contenuto di quel sistema - i valori dei tag - differiscono per sito nella rete.

Fai lo stesso per altre cose in cui il concetto / principio dovrebbe essere lo stesso, ma il contenuto della tabella dovrebbe essere diverso per ogni sito.

Ogni volta che ti viene voglia di codificare qualcosa come if automobiles then ... else ... fai un passo indietro e trova un approccio diverso in cui il codice base può rimanere uguale per entrambi i siti (tutti?) e le differenze sono nelle tabelle dati del sito e / o fornite tramite callback e altri mezzi per estendere la funzionalità di base.

Resisti all'impulso di duplicare la base di codice: potrebbe sembrare il modo più rapido, ma in futuro ti darà grossi grattacapi.

Btw, ho presunto che tu abbia già una corretta separazione di aspetto visivo (css), struttura visiva (html / css) e struttura delle informazioni / dati / logica. Ad esempio utilizzando MVC o un modello di progettazione simile.

Oh e il nome di questo problema: Non so, Vedendo il potenziale? sindrome del coltellino svizzero ? O quando hai un martello tutto ciò che vedi sono le unghie? Alla fine, che tu faccia o non divida il progetto in più domini è una decisione aziendale , non una programmazione.

    
risposta data 10.08.2013 - 15:26
fonte

Leggi altre domande sui tag