Documente Academic
Documente Profesional
Documente Cultură
Chișinău – 2021
Sarcina
Crearea unui program folosind sablonul de proiectare builder, care va gestiona necesitatile companii de
asigurari auto
Definitie
Structura
Constructor (VehicleBuilder)
specifică o interfață abstractă pentru crearea părților unui obiect Produs
ConcreteBuilder (MotorCycleBuilder, CarBuilder, ScooterBuilder)
construiește și asamblează părți ale produsului prin implementarea interfeței Builder
definește și ține evidența reprezentării pe care o creează oferă o interfață pentru
preluarea produsului
Director (magazin)
construiește un obiect folosind interfața Builder Produs (vehicul) reprezintă obiectul
complex în construcție. ConcreteBuilder construiește reprezentarea internă a
produsului și definește procesul prin care este asamblat include clase care definesc
părțile componente, inclusiv interfețe pentru asamblarea pieselor în rezultatul final.
Implementare
Sa ne imaginam ca avem nevoie de a crea o clasa cu o multime de parametri – de
exemplu , clasa Participant cu urmatoarele campuri :
Dupa cum se vede , avem 2 constructoare dar se poate intampla de a fi mai multe.
Problema
Problema consta in faptul ca noi vom trebui sa scrim diferite combinatii de parametri.
Mai mult de atat, va fi foarte usor sa facem accidental greseli in scrierea parametrilor
la locul lor. De exemplu putem scrie (“ Peretean “, “ Ilie”) in loc de Participant
(“Peretean”, “Ilie”), sau de exemplu putem incurca locul varstei cu inaltimea sau
gretatea deoarece ambii parametri sunt de acelasi tip si este posibil sa nu observam
eroarea pentru o lunga perioada de timp.
Ca sa fie mai usor , sa ne imaginam ca avem acest Builder doar pentru un parametru ,
de exemplu Name si sa o impartim in 3 parti:
Consturctor
Parametrul
Concluzie:
In concluzie pot sa spun ca sablonul de proiecate Builder are multe avantaje foarte
placute pentru orice dezvoltator. Unul foarte important este ca codul pare mult mai
usor de citit cu ajutorul acestu model de proiectare deoarece tot ce are legatura cu
crearea unui obiect este preluat intr-o clasa separate - Builder, de asemenea la
completarea campurilor obiectului , parametrii sunt mai greu de amestecat ceea ce ne
ajuta la evitarea erorilor.