DEV Community

Cover image for Memento Design Pattern O'zbek tilida
Ismoil Turdaliyev
Ismoil Turdaliyev

Posted on

Memento Design Pattern O'zbek tilida

Memento Design Pattern

– obyektning ichki holatini (state) vaqtinchalik saqlab qo‘yish va uni keyinchalik tiklash imkonini beruvchi konseptual yechim. Bu pattern undo/redo funksionalliklarini yaratishda juda qo‘l keladi.

Hayotiy taqqoslash
Aytaylik Kitob, Xatcho'p, Kitobxon. Kitobni kitobxon o'qish jarayonida kerakli varoqlarga xatcho'p qoyib ketadi. Kerakli vaqtda xatcho'p joylashga varoqni ochadi va kerakli joy bo'ladi.

Kitob — bu Originator, uning sahifasi hozir qayerda ekanligini biladi.
Xatcho’p — bu Memento, u faqat qaysi sahifada ekaningizni saqlab turadi.
Kitobxon (o‘quvchi) — bu Caretaker, siz xatcho’pni saqlaysiz va kerak bo‘lsa kitobga qaytarib qo‘yasiz.


Bu patternda 3 ta asosiy komponent ishlaydi:

  • 1. Originator: Saqlanishi kerak bo‘lgan holatni o‘zida ushlab turadi va memento (eslatma) yarata oladi yoki mementodan holatini tiklaydi.
  • 2. Memento: Obyektning saqlangan holatini ifodalovchi narsa. U ma’lumotlarni o‘zida saqlaydi, lekin boshqa komponentlar bilan o‘zaro muloqot qilmaydi.
  • 3. Caretaker: Mementoni boshqaradi (saqlaydi va kerak bo‘lganda tiklaydi), lekin memento ichidagi ma’lumotni bilmaydi.

Qo'llash mumkin caselardan: Grafik dasturlar, Formalar, O'yinlar, Editorlar, ...


Ammo har bir stateni saqlash memorydan ko'p joy oladi.

Yechimlar:

  1. Delta saqlash usulidan foydalanish
  2. Compress qilish, misol, JSON qilish orqali

MOMENTO #DESIGN_PATTERN

Image description

Top comments (0)