Posts contrassegnato dai tag ‘MVC’

Post

Observer

In Design Patterns on marzo 26, 2010 di poyblog Messo il tag: ,

Intento:

Definire una dipendenza di tipo uno a molti fra oggetti così che quando uno dei molti oggetti cambia stato anche tutti quelli riferiti allo stesso vengono aggiornati di conseguenza.

Applicabilità:

Il pattern Observer è da utilizzare quando:

  • una astrazione ha due aspetti diversi l’uno che dipende dall’altro. Incapsulare questi due aspetti in oggetti separati permette di variare e riutilizzare questi in modo indipendente.
  • Il cambiamento di un oggetto richiede l’aggiornamento anche di altri oggetti, dei quali non si conosce il numero
  • un oggetto deve essere in grado di aggiornare altri oggetti senza sapere chi sono questi oggetti

Partecipanti:

  • Subject → conosce i suoi osservatori. Un numero variabile di Observer può osservare un soggetto; fornisce inoltre una interfaccia per agganciare e sganciare oggetti di tipo Observer
  • Observer → definisce una interfaccia di aggiornamento per notificare tutti gli oggetti dell’avvenuto cambiamento nel soggetto
  • ConcreteSubject → mantiene gli stati di interesse degli oggetti ConcreteObserver. Invia una notifica ai suoi osservatori quando cambia stato
  • ConcreteObserver → mantiene un riferimento rispetto all’oggetto ConcerteSubject; immagazzina gli stato che potrebbero essere consistenti con quello dei soggetti ed infine implementa Observer aggiornando l’interfaccia per mantenerla al passo con quella del soggetto

Conseguenze:

  • Viene astratto l’accoppiamento fra Soggetto e Osservatore.
  • Viene supportata la comunicazione di tipo broadcast
  • Possono esserci però degli aggiornamento non aspettati che compromettono l’intera struttura, dato che un solo aggiornamento comporta il cambio anche ti tutti gli oggetti correlati

Post

Behavioral Patterns

In Senza categoria on marzo 16, 2010 di poyblog Messo il tag: ,

I pattern comportamentali sono concepiti sfruttando algoritmi e l’assegnazione di responsabilità fra gli oggetti, tali pattern, non descrivono solo se stessi ma anche il modo in cui i vari oggetti o classi comunicano fra loro.

I pattern comportamentali a livello di classe sfruttano l’ereditarietà per distribuire i comportamenti fra le classi. I due pattern che verranno poi analizzati saranno:

  • Template Method
  • Interpreter

I pattern comportamentali a livello di oggetto sfruttano la composizione invece dell’ereditarietà, alcuni descrivono il modo in cui un gruppo di oggetti “pari” coopera al fine di eseguire operazioni che da solo un unico oggetto non sarebbe stato in grado di compiere. I pattern che analizzeremo più avanti saranno:

  • Mediator
  • Chain of Responsibility
  • Observer
  • Strategy
  • Command
  • State
  • Visitor
  • Iterator
Iscriviti

Get every new post delivered to your Inbox.