Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator № 4
Chișinău 2020
1.Scopul:
2. Șabloane structurale
Șablonul Facade (Fațadă):
Furnizează o interfață unificată pentru un set de interfețe într-un subsistem.
Fațada definește o interfață de nivel superior, care face subsistemul mai ușor de
utilizat.
1. class DisplayBlackPieces:
2. def displayBlack(self):
3. print("Black Pieces: ♚ ♛ ♜ ♝ ♞ ♟")
4.
5.
6. class DisplayWhitePieces:
7. def displayWhite(self):
8. print("White Pieces: ♔ ♕ ♖ ♗ ♘ ♙")
9.
10.
11. class DisplayTable:
12. def displayTable(self):
13. print(" ╔══════════════════════╗\n"
14. "8 ║♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ \n"
15. "7 ║♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ \n"
16. "6 ║… … … … … … … … … … … \n"
17. "5 ║… … … … … … … … … … … \n"
18. "4 ║… … … … … … … … … … … \n"
19. "3 ║… … … … … … … … … … … \n"
20. "2 ║♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙\n"
21. "1 ║♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖ \n"
22. " ╚══════════════════════╝")
23.
24.
25. class CreateExample:
26.
27. def __init__(self):
28. self.displayWhitePieces = DisplayWhitePieces()
29. self.displayBlackPieces = DisplayBlackPieces()
30. self.displayTable = DisplayTable()
31.
32. def create(self):
33. self.displayWhitePieces.displayWhite()
34. self.displayBlackPieces.displayBlack()
35. self.displayTable.displayTable()
36.
37.
38. example = CreateExample()
39. example.create()
3.Problema soluționată
În aplicația de mai sus am aplicat modelul de proiectar Facade cu scopul de
a uni mai multe componente în unul singur. Cu ajutorul Facadei am afișat tabla de
șah și piesele după culoare impărțindule astfel în subsisteme. Acest lucru ușurează
înțelegerea codului deoarece el estre structurat mai bine.
4.Concluzie
În urma efectuării acestei lucrări de laborator am studiat si analizat șablonul
de proiectare Facade 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.