Observer (Comportamental)
Observer (Comportamental)
Rezolva problema:
Prin:
decide cine poate fi creator pe baza asocierii obiectelor si interactiunii lor
Sabloane:
1. Observer (comportamental)
Definirea problemei:
Solutie:
Mecanism care sa anunte angajatul ca statusul unui ticket s-a modificat sau nu cu succes.
Dezavantaj:
Diagrama de clasa:
Secvente de cod:
using System.Collections.Generic;
namespace ObserverDesignPattern
AngajatName = angajatName;
Availability = availability;
return Availability;
}
public void setAvailability(string availability)
this.Availability = availability;
Console.WriteLine("Availability changed.");
NotifyObservers();
observers.Add(observer);
observers.Add(observer);
observers.Remove(observer);
+ AngajatName +
Console.WriteLine();
observer.update(Availability);
}
}
namespace ObserverDesignPattern
UserName = userName;
subject.RegisterObserver(this);
}
}
2. Composite (structural)
Definirea problemei:
Se va afla responsabilul pentru cautarea clientilor care au modificat statusul unui ticket.
Solutie:
Dezavantaj:
Diagrama de clasa:
Secvente de cod:
namespace CompositeDesignPattern
this.Client = client;
this.Name = name;
}
Step3: Creating Composite class
namespace CompositeDesignPattern
this.Name = name;
components.Add(component);
Console.WriteLine(Name);
item.DisplayClient();
}
3. Factory method (creational)
Definirea problemei:
Solutie:
Prin atribuirea clasei Cauta client, responsabilitatea de a trimite cererea de actiune client catre
interfata AdaugareSelectareClient care va gestiona situatia.
Dezavantaj:
Lipsa securitatii.
Diagrama de clase:
Secvente de cod:
String execute();
@Override
}
@Override
return client.save();