Har bir berilgan buyruqni orqaga qaytarish usuli kerak bo'lishi mumkin (text editorlardagi undo/redo funksiyalari misol uchun). Bunda HAR BIR berilgan buyruqni saqlab qo'yish kerak. Saqlash uchun ular oddiy buyruq emas qandaydir object ko'rinishida bo'lishi kerak. Dalil keltirishda ham "dedi dedi" ga ishonib bo'lmaganidek.
Har bir buyruq berilganda uni command orqali ya'ni buyur beradigan funksiya orqali beriladi. U buyruq beradigan komandor har bir qigan ishini yozib saqlab yuradi. Aytaylik 10 ga beshni qo'sh deyilsa 15 qilib xotirasiga ma'lum songa 5 qo'shganini agarni uni orqaga qaytarmoqchi bo'lsa 5 ayirish kerakligini biladi. Oxirgi amalingni orqaga qaytar deyilsa oxirgi amalga qarab uni orqaga qaytarish uchun yana bir buyruq beradi, ya'ni, 5 ni ayir deb.
Command design pattern commandalarni (commanda 5 qo'shish bo'lsa, demak buni orqaga qaytarish minus 5 bo'ladi va bu commandaning ichida undo funksiyasida -5 bo'ladi) ishlatib yani ularni ichidagi bajarish (5 qo'shish) ni ishga tushuradi va shu komandani (ichida 5 qo'shish va ayirish bo'lgan) saqlab qoyadi commandalar listiga
Command design pattern shu)
🎞 https://youtu.be/UFmB_1nuRT4?si=VYrrEsNLDGnOSaLO
Top comments (0)