Ingineria Programarii



 

Laborator 10

Scrieti un program care permite achizitionarea unei masini, si adaugarea ei intr-o lista a masinilor pentru fiecare client.

Un client este o persoana care are un nume si o anumita varsta, precum si o lista de masini achizitionate.

O masina este de trei tipuri: sedan, coupe si mini si contine cate trei caracteristici particulare fiecarui tip de masina (dotari, motorizare si dimensiuni), respectiv doua caracteristici comune celor trei tipuri (culoare si transmisie).

FUNCTIONARE

1. Programul va cere utilizatorului sa introduca numele masinii, respectiv tipul ei, citind datele necesare pentru fiecare element. Se citeste numele clientului si se adauga masina in lista de masini a acelui client.

2. Folositi abstract factory, singleton si object pool.

NOTA: Alegerea ierarhiei, claselor si obiectele din programul vostru ramane exclusiv la latitudinea voastra. Implementarea trebuie insa sa foloseasca cel putin cele trei design pattern-uri mentionate anterior.

IMPORTANT: Orice atribut al unei clase trebuie sa fie private sau protected , accesul la el se face prin intermediul unor metode public pe care le veti defini. Mentineti obligatoriu conventia de notare a limbajului Java in programele voastre.

+ extra 1p: Implementati o metoda pentru stergerea unei masini achizitionate de catre un anumit client.

+ extra 2p: Realizati diagramele UML sequence si communication pentru acest program.