Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator № 6
Chișinău 2020
1.Scopul:
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.
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.