Design Patterns – Pattern Creazionali

Ripredendo un precedente post sul design pattern, implementiamo i principali utilizzando C#. Definendo situazioni reali verranno realizzate classi, interfacce  ed implementazioni concrete, di soluzioni in produzione.

Nell’ambito dell’ingegneria del software un design pattern viene spesso introdotto come uno schema di progettazione che consente di risolvere un problema ricorrente.

Continua a leggere Design Patterns – Pattern Creazionali

Design Patterns – Abstract Factory

Tipologia: Creazionale

Obiettivo: Fornire un’interfaccia per creare famiglie di oggetti correlati o dipendenti senza specificare le loro classi concrete

Frequenza di utilizzo: Alta

Componenti:

Abstract Factory - UML
Diagramma UML
  • Abstract Factory: dichiara un’interfaccia per operazioni che creano prodotti astratti
  • ConcreteFactory: implementa le operazioni per creare gli oggetti “prodotto” concreti
  • AbstractProduct: dichiara un’interfaccia per il tipo di dato “prodotto”
  • Product: è l’oggetto “prodotto” creato con la corrispondente classe factory astratta. Implementa l’interfaccia AbstractProduct
  • Client: utilizza le interfacce dichiarate dalle classi AbstractFactory e AbstractProduct

Continua a leggere Design Patterns – Abstract Factory

Introduzione alla dependency injection

Dependency Injection (DI) e Inversion Of Control (IoC) sono due elementi fondamentali per lo sviluppo di applicazioni “moderne”. A prima vista possono sembrare due concetti complessi ma, una volta appresi i principi, difficilmente si potrà farne a meno.

Il problema da risolvere è la dipendenza tra oggetti

Continua a leggere Introduzione alla dependency injection