Crearea unui programa utilizant sabloanelel de proiectare Composite si Builder, care va gestiona
necesitatile unei sali de sport.
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 . Iar o alta
optiune este crearea unui program specific de antrenament pentru fiecare membru.
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 crearea de antrenamente specifice pentru fiecare
membru am decis implimentarea sablonului Builder.
Diagrame UML :
1)Component - PersonEntity
3)Leaf - Member
1)Director - TrainerService
2)Builder - ISession
4)Product - TrainingSession
Codul sursa :
PersonEntity.cs
}
}
Member.cs
public class Member : PersonEntity
{
public Member(string name, TrainingType type) : base(name,type)
{
TrainerService.cs
public GetTrainingSession()
{
this.Reset();
}
this.Reset();
return result;
}
}
ISession.cs
public interface ISession
{
public void AddChestExercises();
public void AddBicepsExercises();
public void AddLegsExercises();
public void AddTricepsExercises();
public void AddCardioExercises();
}
TrainingSession
public class TrainingSession
{
private List<ExerciseTypes> _exercises = new List<ExerciseTypes>();
Program.cs