2010-06-01 15 views
5

Ho due anni di esperienza in PHP, ma non ho mai lavorato con modelli di progettazione. Mi è stato recentemente assegnato un incarico al lavoro che mi ha fatto dubitare della saggezza di quella decisione.PHP Design Pattern Advise

Mi è stato chiesto di creare un sistema che:

  1. ordini inserire in una banca dati. Questi ordini possono avere una moltitudine di attributi e logica di controllo che deve essere applicata. Il sistema non sarà direttamente responsabile di un front end, riceverà i comandi tramite un'API.

  2. Scrivere gli script che estrae gli ordini dal database, decidere con quale fornitore inviare e creare i file associati per il caricamento in un provider. I formati di file variano (XML, CSV).

  3. Elabora i file in arrivo dai fornitori nei vari formati (XML, CVS) e aggiorna i database. Anche FTP dovrà essere utilizzato per raccogliere i file dall'host remoto.

Vorrei una classe di controllo centrale in grado di servire ciascuna delle funzioni richieste, un punto di accesso per così dire. Questo si estenderebbe quindi alle varie funzionalità specifiche come richiesto.

Mi chiedo se valga la pena di imparare un modello di progettazione per facilitare questo sistema, se così fosse qualcuno potrebbe indicarmi una direzione in quanto ce ne sono molti. Qualsiasi consiglio sul mio problema sarebbe molto utile.

Grazie in anticipo

risposta

1

Tenete a mente che un modello di progettazione non risolverà il problema, piuttosto si tratta di un metodo astratto riutilizzabile di una soluzione di un problema (serie o dato dei problemi.)

Sulla base la tua descrizione e idea, sembra che tu abbia già una conoscenza della situazione e di come vorresti gestirla.

Non sono uno di quelli che sono troppo coinvolto in schemi di progettazione, probabilmente correrei con quello che hai se fossi in te.

$ 0,02

1

Sì, è uno sforzo utile, tuttavia, come non risolverà il problema. Se hai codificato senza di essi a volte li usi in una combinazione di motivi e le cose non sono sempre chiare. Avere nomi e template può rendere il tuo codice più chiaro e facile da mantenere.

Negli ultimi 2 anni ho rispolverato gli schemi di progettazione e come migliorare la soluzione del modello, e credo che abbia pagato.

io personalmente leggere usato questi libri per i miei studi:

Penso che studiare i modelli di progettazione può aiutarti a migliorare il tuo design. Avere nomi chiari aiuterà le persone che verranno dopo.

0

No, no, no!

Gli schemi di progettazione sono utili come strumenti di insegnamento e un modo per descrivere il codice è. Se li tratti come una sorta di modello di codice, questo determinerà il modo in cui funziona il codice prima ancora di averlo pensato correttamente.

... e diverso da FrontController (che è troppo generico), la maggior parte dei modelli si rivolge a comportamenti molto più specifici di quelli che descrivi qui.

C.

+0

Bene, ho capito come fare i programmi attuali e le classi .. Sto solo cercando di capire un metodo che mi permettesse di legare tutte le varie parti del sistema insieme – Joe