Sunteți pe pagina 1din 3

Universitatea Tehnica a Moldovei

Facultatea Calculatoare, Informatica si Microelectronica


Departamentul Inginerie Software si Automatica

RAPORT

Lucrarea de laborator № 6

Tehnici și mecanisme de proiectare software


Tema: Șablonul Mediator

A efectuat: Iluța Ciprian, st. gr. TI-173


A verificat: l.u. Sergiu Scrob

Chișinău 2020
1.Scopul:

Studierea domeniului ales anterior si anume tema “Elaborarea unui joc de


șah” și identificarea unei probleme de proiectare care poate fi soluționată cu
ajutorul unui șablon de proiectare din clasa șabloanelor creaționale. 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
creațională. Descrieți problema identificată, motivația, participanții și rolurile lor în
șablonul utilizat. 

2. Șabloane structurale
Șablonul Mediator:
Mediatorul este un model de design comportamental care reduce cuplarea
între componentele unui program, făcându-le să comunice indirect, printr-un obiect
special de mediator.

Figura 1. Diagrama UML în cadrul proiectului

1. class ChessTable(object):  
2.   
3.     def displaymove(self, Player, move):  
4.         print("[{} made a move]: {}".format(Player, move))  
5.   
6.   
7. class Player(object):  
8.   
9.     def __init__(self, name):  
10.         self.name = name  
11.         self.ChessTable = ChessTable()  
12.   
13.     def sendmove(self, move):  
14.         self.ChessTable.displaymove(self, move)  
15.   
16.     def __str__(self):  
17.         return self.name  
18.   
19.   
20. bPlayer = Player('Black')  
21. wPlayer = Player('White')  
22.   
23. bPlayer.sendmove("A2 -> A4 with Pawn")  
24. wPlayer.sendmove("B8 -> C6 with Horse")  

Output:
1. [Black made a move]: A2 -> A4 with Pawn  
2. [White made a move]: B8 -> C6 with Horse  

3.Problema soluționată
În aplicația de mai sus am aplicat modelul de proiectar Mediator cu scopul
de a implementa comunicare și documentare mișcărilor ce se produc pe tabla de
șah între 2 jucători. Ambii jucători fac parte din aceiași clasă, cu excepția că ei
diferă de piese cu care joacă. Când unul din jucători face o mișcare, această
mișcare este transmisă mediatorului numit prin clasa ChessTable care „captează” și
transmite sub formă de mesaj ambilor jucători ce mișcare a avut loc.

4.Concluzie
În urma efectuării acestei lucrări de laborator am studiat si analizat șablonul
de proiectare Mediator pe care l-am implementat în cadrul temei alese. Am studiat
posibilitatile de implementare ale acestui șablon dar și însăși conceptul șablonului
după care l-am implementat cu ajutorul limbajului Python.

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