Esistono linguaggi creati per facilitare l'implementazione di modelli di progettazione?

4

Spesso non è ovvio come implementare un determinato modello di progettazione in una lingua. A volte è difficile o ingombrante. Esistono linguaggi creati per rendere l'utilizzo dei modelli di progettazione facile ed efficace?

    
posta B Seven 17.09.2011 - 01:12
fonte

4 risposte

4

Considera questi punti:

  1. I modelli di progettazione indicano la disconnessione tra la funzionalità desiderata e ciò che il linguaggio di programmazione fornisce
  2. Questa disconnessione può essere facilmente creata artificialmente prendendo un concetto da una lingua e cercando di implementarlo in una lingua diversa
  3. La maggior parte degli schemi di progettazione esistenti è stata trovata in questo modo - qualche bella soluzione smalltalk non si adatta direttamente al c ++, quindi diventa un modello di progettazione
  4. La cosa bella dei modelli di progettazione è che consente ai programmatori di pensare di più su come risolvere il problema e meno su come funzionano le funzionalità del linguaggio di programmazione
  5. Non può esserci davvero alcun linguaggio che aiuti a implementare schemi di progettazione, dal momento che ogni lingua ha schemi diversi che sono comuni ma richiede comunque uno schema. Quindi qualsiasi cosa tu faccia nella progettazione della lingua, c'è sempre un modo per trovare uno schema che non hai considerato nel design originale.
risposta data 17.09.2011 - 09:11
fonte
13

L'importante è che un modello di design non sia intrinseco a un linguaggio; è quasi letteralmente solo un modello di codice al quale sono arrivati in modo indipendente molti sviluppatori. Gli schemi di progettazione che emergono in un particolare linguaggio sono considerati il modo idiomatico e preferito di risolvere determinati tipi di problemi.

Certo, ci sono innumerevoli "framework" MVC là fuori, ma in realtà usano solo MVC come label per la sottostante buona pratica - modularità e ortogonalità tra modello di dati, presentazione e interazione con l'utente.

Un linguaggio non può essere progettato per rendere "utilizza schemi di progettazione" facili ed efficaci, perché i modelli di progettazione emergono dal design della lingua. Non è possibile progettare una lingua attorno a modelli che appariranno come risultato dei propri punti di forza e di eventuali mancanze. Tutto quello che puoi fare è progettare un oggetto più espressivo e potente. Se gli idiomi e gli schemi popolari per una determinata lingua sono difficili da implementare, significa semplicemente che il linguaggio stesso è ingombrante .

Tautologicamente: in un linguaggio più espressivo, è più facile esprimerti.

    
risposta data 17.09.2011 - 01:40
fonte
5

I modelli di progettazione (espressioni idiomatiche) sono in genere un sintomo di una mancanza di linguaggio di programmazione. Man mano che le lingue migliorano, i pattern diventeranno intrinsechi.

    
risposta data 17.09.2011 - 08:29
fonte
2

Non penso che sia la caratteristica del linguaggio offrire un modello di design, in effetti nessun linguaggio lo fa. Gli stessi sviluppatori progettano modelli e fanno uso del linguaggio in questo. MVC, MVP, MVVC sono schemi di progettazione che possono essere applicati a qualsiasi lingua.

Inoltre, ci sono alcuni IDE che ti aiutano a sfruttare i modelli di progettazione. Come nel caso di Visual Studio 2010, è possibile utilizzare il modello di progettazione MVC selezionando il modello MVC ASP.NET.

    
risposta data 17.09.2011 - 08:37
fonte

Leggi altre domande sui tag