Domanda

Da dove viene l'idea dei motivi di design, chi ha deciso cosa è e cosa non è un modello e ha dato loro il loro nome? Esiste un'organizzazione ufficiale che li definisce o esiste attraverso un consenso della comunità?

È stato utile?

Soluzione

Penso che ci sia un ciclo di vita di base di un modello di progettazione

  1. L'autore scrive del modello di progettazione in un libro.
  2. Il libro diventa ben letto, forse il migliore venditore
  3. Il modello di progettazione entra nel pubblico, diventa partecipe.
  4. Viene utilizzato il modello di progettazione. Funziona bene. il modello di progettazione diventa più condiviso
  5. Il modello di progettazione diventa panacea, viene sovrautilizzato.
  6. Autore diverso scrive " Modello di progettazione considerato dannoso "
  7. Il modello di progettazione diventa Anti Pattern
  8. L'autore diverso diventa famoso, scrive un libro pieno di nuovi modelli di design ...

Altri suggerimenti

Molte persone indicherebbero il " Gang of Four " (Erich Gamma , Richard Helm, Ralph Johnson e John Vlissides) che hanno scritto il libro Design Patterns: Elements of Reusable Object-Oriented Software . Non esiste un vero elenco definitivo poiché utili modelli di progettazione vengono sicuramente scoperti continuamente.

Wikipedia ha una buona lista. http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

La maggior parte sono per consenso della comunità (quella comunità di persone che hanno letto modelli di progettazione o codice completi: /)

Risposta breve: No.

Risposta lunga: dal momento che se qualcuno progetta qualcosa e tende ad essere riutilizzato da altri un nuovo "modello di progettazione" sarà appena creato (o scoperto ??)

In realtà il numero di modelli di progettazione nelle applicazioni esistenti potrebbe essere enorme, ma nessuno li ha ancora classificati.

Vorrei aggiungere i collegamenti precedenti questi due:

http://martinfowler.com/eaaCatalog/

http://c2.com/ppr/

Non esiste un elenco definitivo. I modelli vengono scoperti, non inventati, quindi non esiste un'organizzazione che possa dire "questo è un modello" e "questo non è un modello". Anche se ce ne fosse uno, non sarebbe utile a nessuno.

Nonostante ciò, il "famoso" i pattern sono quelli descritti in Design Patterns, o nel libro GOF.

Può anche essere utile riconoscere anti-pattern .

Questa è una buona lista di pattern (dal libro Patterns of Enterprise Application Architecture ):

http://martinfowler.com/eaaCatalog/

L'idea di Design Patterns è stata coniata da Christopher Alexander, mentre scriveva di motivi architettonici all'interno di edifici e città. Allo stesso modo, sono emersi modelli mentre gli ingegneri hanno acquisito maggiore esperienza con metodologie di progettazione orientate agli oggetti.

Non esiste un consorzio ufficiale che definisca ciò che è uno schema e ciò che non è uno schema. Tuttavia, i modelli in genere hanno un lungo ciclo di vita prima di essere generalmente accettati. La comunità di sviluppo sta iniziando a partecipare a cose come PLOP (Pattern Languages ??of Programs) e alla loro conferenza annuale: Conferenza 2008 , che concentrarsi sugli autori e gli appassionati di schemi per discutere l'argomento degli schemi e lo sviluppo di nuovi schemi.

Non esiste un elenco definitivo - perché ce n'è uno richiederebbe molto probabilmente un'autorità per dichiarare se un modello è un modello o solo un ... qualcos'altro.

Alcuni schemi hanno senso solo in un sottoinsieme di lingue: il canonico GOF book si concentra su Java (o è C ++? Il libro è sulla mia scrivania in ufficio) e alcuni dei modelli descritti non sono molto rilevanti, ad esempio in Ruby o VB6. E viceversa ovviamente.

Direi che l'Unione dell'elenco nel libro Gang of Four e Fowler's Patterns of Enterprise Arhitecture ti daranno il 99% di ciò che avresti mai bisogno di sapere.

Esiste un libro canonico: Gamma, Helm, Johnson, Vlissides: "Schemi di progettazione - Elementi di software riutilizzabile orientato agli oggetti". che ha iniziato tutto. Contiene 23 modelli.

Non può esserci un elenco definitivo. Mai.

Se vedi alcune soluzioni a un problema che, per te, ha un modello che può essere articolato, hai scoperto un modello di progettazione. Puoi sempre continuare a farlo.

Ogni nuova soluzione intelligente potrebbe essere la genesi di una soluzione simile che condivide un modello comune. I pattern sono qualcosa che tu usi per riassumere e catturare una soluzione interessante a un problema.

Il cervello umano può trovare schemi in quasi qualsiasi cosa . È una cosa che facciamo senza pensarci.

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