Șabloane de Proiectare
Lucrare de laborator nr.5
Disciplina:Tehnici și mecanisme de proiectare software
Chișinău 2021
Sarcina:
Crearea unui programa utilizant sabloanelel de proiectare Composite si Decorator, care va gestiona necesitatile unei
sali de sport.
Descrierea domeniului
Sportul este o activitate care poate influenta stilul de viată,sănătatea sau personalitatea unui om. Acesta este
singurul mod prin care poți fi cu adevărat sănătos, mai ales în combinație cu o alimentație și alte obiceiuri
sănătoase.Exită un șir de beneficii care prezintă necesitatea de a duce un mod sănătos de viață:
Astfel importanța sportului în viața tinerilor și a celor în vârstă este incontestabilă. Din păcate, multe
persoane uită de acest lucru ,nu au posibilitate și nu beneficiază de toate avantajele pe care activitatea fizică
le poate adduce din cauza pandemiei.
Problema identificata
Fiin in regim de pandemiasala noastra a decis sa organizeze un program online de antrenament. Pentru a facilita
interactiunea dintre membrii , ne-am gandit ca fiecare antrenor sa aiba un grup de cateva persoane , iar cea mai buna
persoana din grupa respectiva sa poata antrena o grupa proprie . Totusi pentru a pastra sala intr-o stare buna , am
decis sa oferim atat antrenorilor cat si celor care se antreneaza posibilitatea de a obtine un job temporar si a ajuta in
masura posibilitatilor.
Deci pentru a putea implimenta aceasta posibilitatea in care un antrenor poate avea mai multi membrii in echipa , iar
cel mai bun sa poata avea propria echipa , iar ei ca antrenori sa decida pe cine sa adauge , pe cine sa scoata din
echipa , si sa obtina informatia despre echipa la nivele <<ierarhice mai jos>> fara a depinde daca este si el antrenat de
cineva am decis implimentarea sablonului de proiectare Composite , care ne ajuta sa creem structuri asemanatoare
arborilor , unde fiecare not poate actiona de sine statator cu ramificatiile care pleaca de la el. Iar pentru alocarea de
joburi noi (ceea ce reprezint aun functional nou atat pentru trainer cat si pentru simplii membrii) v-om utiliza
decorator.
Diagrame UML :
Diagramele pentru care demonstreaza implimentarea clasei ce reprezinta
1)Component - PersonEntity
2)Composite – Trainer , care mosteneste si de la interfata ITrainer pentru a putea adauga/scoate membrii din
echipa
3)Leaf - Member
Trainer.cs
public class Trainer : PersonEntity, ITrainer
{
private List<PersonEntity> teamMembers;
public Trainer(string name) : base(name)
{
teamMembers = new List<PersonEntity>();
}
GetJob
public class GetJob : JobEntity
{
protected List<string> JobsList = new List<string>();
protected string entityName;
public GetJob(string name, PersonEntity entity) : base(name, entity)
{
entityName = name;
}
Rezultatul execuției :
Concluzie :
In cadrul acestei lucrari de laborator m-am familiarizat cu un sablon de proiectare nou : Decorator si am
aplicat intr-o alta solutie sablonul Composite. Fiecare a fost conceput pentru a rezolva o anumita problema.
Composite este sablonul de proiectare care nu ajuta sa facem un management eficient atunci cand datele
noastre sunt organizate in forma unui arbore , iar fiecare nod are posibilitatea sa actioneze de sine statator ,
iar sablonul Decorator ne permite sa adaugam functional nou claseloc deja existente..