Blog › Ruby

Design Patterns in Ruby: Introduzione

Ciao a tutti.

Vorrei presentare con questo post una serie di articoli riguardante la descrizione dei più diffusi design patterns e di come questi possano essere applicati nel linguaggio Ruby.

Anche nel mondo dell'ingegneria del software si ha la necessità di non dover reinventare la ruota per affrontare la maggior parte dei problemi.
Questi problemi sono solitamente molto comuni e spesso necessitano di una risoluzione simile.

Christopher Alexander sostiene come un pattern descriva un problema ricorrente nel nostro ambiente e fornisca la soluzione a questo problema in modo da poter usare questa soluzione innumerevoli volte successive.

Nel 1995, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, a partire dai lavori di Christopher Alexander e Kent Beck, hanno pubblicato "Design Patterns: Elements of Reusable Object-Oriented Software".

Con questo libro i quattro autori (da quel momento in poi conosciuti come "GoF": http://it.wikipedia.org/wiki/Design_Patterns, Gang of Four) hanno proposto delle soluzioni comuni ai 23 più diffusi e ricorrenti problemi dell'ingegneria del software.

La GoF suddivide i pattern analizzati in 3 categorie:

Creational patterns

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Structural patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral patterns

  • Chain
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template
  • Visitor

Vedremo nel corso di questa serie tutti i più diffusi pattern: analizzeremo il problema e definiremo una soluzione utilizzando se possibile tutte le potenzialità fornite dal linguaggio Ruby.

Tutto il codice che mostreremo sarà liberamente accessibile nel nostro repository su GitHub a quetso indirizzo: "design_patterns_in_ruby"

Scopri dove l'AI può far risparmiare tempo alla tua azienda.

Un'ora con il nostro team: mappiamo i processi, individuiamo 2-3 casi d'uso concreti e ti diciamo cosa conviene fare per primo. Senza impegno.

Prenota l'analisi AI gratuita
Finanza agevolata

Agevolazioni e bandi per il tuo progetto software o AI.

Con partner specializzati verifichiamo a quali agevolazioni può accedere il tuo progetto e prepariamo documentazione e piano di finanziamento.

  • Iperammortamento 4.0 e 5.0
  • Bandi nazionali e regionali
  • Piano di finanziamento
Prenota l'analisi AI gratuita