Come imparare gli usi pratici dei modelli di progettazione

4

Uso la programmazione OOP con l'ereditarietà, ma non ho ancora utilizzato le interfacce. Voglio imparare come utilizzare i modelli di progettazione, ma trovo che siano molto difficili da imparare. C'è un modo per apprendere facilmente i modelli di progettazione?

Ho cercato un bel po ', ma non sono riuscito a trovare informazioni utili.

    
posta WebDev 01.03.2011 - 06:51
fonte

4 risposte

2

Non c'è nessuna sostituzione o scorciatoia per ciò che ha appena detto Meagar in uno dei post precedenti. A seguire può essere utile, ma essenzialmente parafrasare Meagar - l'unico modo per imparare a nuotare è immergersi nell'acqua e affondare un paio di volte!

Di seguito sono riportati alcuni link. JUnit Cookbook fornisce un brillante esempio di alcuni modelli - vale davvero la pena controllare.

  1. Tour di JUnit Cook
  2. Vince Huton's DP
  3. Elementi decorativi di design

Spero che ti aiuti.

    
risposta data 01.03.2011 - 08:24
fonte
9

Sviluppa software. Finché non stai scrivendo un software reale con uno scopo reale , non troverai una vera ragione per utilizzare un modello di progettazione. Puoi leggere e fare esercizi, ma nulla ti preparerà per affrontare e risolvere un vero problema.

Trova un problema nel tuo flusso di lavoro quotidiano e scrivi software per automatizzarlo, oppure fai quello che molte persone nel nostro campo hanno fatto e scrivi un videogioco scadente. L'unico modo per imparare a costruire software è costruire un sacco di software.

    
risposta data 01.03.2011 - 06:56
fonte
2

troverai vari link disponibili su google se cerchi "Modelli di design".

Quando ho iniziato a progettare i pattern mi piace molto questo link.

link

Spero che anche tu possa trarre beneficio da questo ..

    
risposta data 01.03.2011 - 06:56
fonte
1

Un modello di design è proprio questo: un pattern utilizzato per progettare il software.

Molti programmatori intelligenti negli ultimi sei decenni si sono scoperti a scrivere codice per vari progetti utilizzando le stesse strutture di base.

Un semplice è il metodo factory, invece di scrivere:

$a = new D();
$a->foo = 'bar';
$a->baz = 'buzz';

$b = new D();
$b->foo = 'bar';
$b->baz = 'buzz';

$c = new D();
...

È molto più semplice avere una funzione che faccia tutto per te:

function makeD()
{
  $temp = new D();
  $temp->foo = 'bar';
  $temp->baz = 'buzz';
  return $temp;
}

e quindi chiamalo alcune volte:

$a = makeD();
$b = makeD();
$c = makeD();

Questo particolare modello è il modello di builder. Puoi cercarli su wikipedia , o leggere su di loro in un numero di books , ma non confonderli per essere un panacea .

I pattern di design sono solo pattern, se ti ritrovi a dire "Man, potrei davvero usare un modo semplificato di fare x ", allora puoi probabilmente trovare uno schema di progettazione per semplificare il codice. Dopo aver utilizzato alcuni modelli di progettazione, inizieranno a far parte della tua casella degli strumenti e sarai in grado di esaminare un problema e dire "Dovrei usare [insert design pattern here] ", ma se non lo fai usa un modello di design formale, va bene anche.

Direi che le interfacce sono per lo più estranee ai pattern di progettazione, sebbene alcuni pattern design utilizzino le interfacce come parte del pattern.

    
risposta data 01.03.2011 - 07:19
fonte

Leggi altre domande sui tag