Sunteți pe pagina 1din 3

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica si
Microelectronica Departamentul Ingineria
Software si Automatica

RAPORT
Disciplina: TMPS
Tema: Command Pattern

A efectuat: Guzun Ion


st. gr. TI-171

A verificat: Scrob Sergiu

Chisinau 2020
Scopul lucrarii:
Studierea domeniului de interes (tema individuală a studentului) și identificarea unei probleme
de proiectare care poate fi soluționată cu ajutorul unui șablon de proiectare din clasa șabloanelor
comportamentale. Implementarea soluției într-un limbaj de programare orientat pe obiecte.
Elaborarea diagramei de clase UML care corespunde cu soluția implementată, a unui șablon din
clasa comportamentală. Descrieți problema identificată, motivația, participanții și rolurile lor în
șablonul utilizat, de asemenea includeți rezultatele execuției programului.

Diagrama UML:

Figura 1 – Diagrama UML

Problema:
Va fi necesara citirea si salvarea CV-urilor, in acest caz vom folosi sablonul command.
Codul java:
Crearea interfetei PrimireActiuniCommand (Command):
public interface PrimireActiuniCommand {
public void execute();
}
Crearea clasei Document (Reciever):
public class Document {
public void open(){
System.out.println("Document Deschis");
}
public void save(){
System.out.println("Document Salvat");
}
}

Creare clasa ActiuneDeschide:


public class ActiuneDeschide implements PrimireActiuniCommand{
private Document doc;
public ActiuneDeschide(Document doc) {
this.doc = doc;
}
@Override
public void execute() {
doc.open();
}
}

Crearea clasei ActiuneSalvare:


public class ActiuneSalvare implements PrimireActiuniCommand{
private Document doc;
public ActiuneSalvare(Document doc) {
this.doc = doc;
}
@Override
public void execute() {
doc.save();
}
}

Crearea clasei MeniuOptiuni(Invoker):


public class ActiuneSalvare implements PrimireActiuniCommand{
private Document doc;
public ActiuneSalvare(Document doc) {
this.doc = doc;
}
@Override
public void execute() {
doc.save();
}
}

Crearea clasei CommandPatternClient(Client):


public class CommandPatternClient {
public static void main(String[] args) {
Document doc = new Document();

ActionListenerCommand clickOpen = new ActiuneDeschide(doc);


ActionListenerCommand clickSave = new ActiuneSalvare(doc);

MeniuOptiuni meniu = new MeniuOptiuni(clickOpen, clickSave);

menu.clickOpen();
menu.clickSave();
}
}

S-ar putea să vă placă și