Table of Contents
ویرایشگران متن مدرن، از برنامه های ساده یادداشت برداری گرفته تا پردازنده های پیچیده کلمه، اغلب شامل یک ویژگی غیر قابل قبول است که به کاربران اجازه می دهد تا آخرین اقدامات خود را به طور موثر انجام دهند، پیاده سازی این ویژگی برای یک تجربه کاربر صاف بسیار مهم است.یک الگوی طراحی موثر برای دستیابی به این الگوی Memento است.
درک الگوی Memento
الگوی Memento یک الگوی طراحی رفتاری است که بدون افشای اجرای آن، حالت داخلی یک شی را ثبت و خارج می کند.این به دولت اجازه می دهد بعدا بازسازی شود و ویژگی هایی مانند Unv و Redo را فعال کند.
چگونه الگوی Memento در ویرایشگرهای متن کار می کند
در یک ویرایشگر متن، الگوی Memento شامل سه جزء اصلی است:
- [[۱] [۱۰] [۱] [۱] [۱]] [۳] [۳]] [۳] [۳] [۳]] [۳] [۱]] [۳] [۵] [۵] [۳]] [۵] [۳] [۵] [۱] [۳] [۱] [۱] [۳] [۳] [۱] [۱] [۵] [۳] [۳] [۵] [۳] [۵] [۳] [۵] [۵] [۵] [۵] [۳] [۳] [۵] [۵] [۳] [۵] [۳] [۵] [۵] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۵] [۳] [۵] [۵] [۵] [۵] [۳] [۵] [۳] [۳] [۳] [بر [۵] [۵] [بر [۳] [۳] [۵] [۵] [۳] [۳] [۵] [۵] [۳] [۳] [۵] [۵] [۳] [۳]
- [[۱] [۱۰] [۱] [۱] [۱] [۱]] [۱]] [۱] [۱] [۱]] [۱] [۱]] [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۵] [۱] [۱] [۵] [۱] [۱] [۱] [۱] [۱] [۱] [۵] [۱] [۱] [۱] [۵]]] [۱]]]] [۱] [۳] [۳] [۱] [۱] [۵] [۵] [۵] [۵] [۱] [۱] [۱] [۵] [۵] [۳] [۳] [۱] [۱] [۱] [۵] [۱] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۵] [۵] [۵] [۱] [
- جمع آوری Mementos را مدیریت می کند، به کاربران اجازه می دهد تا اقدامات را خنثی یا قرمز کنند.
نجات دولت
هر زمان که یک کاربر تغییر ایجاد کند، مدیر عامل یک یادداشت جدید را ایجاد می کند که حالت فعلی خود را ثبت می کند.این Memento سپس توسط Caretaker در یک پشته یا لیست ذخیره می شود.
استراحت دولت
هنگامی که کاربر فشار را خنثی می کند، Caretaker آخرین Memento را بازیابی می کند و به مدیر عامل دستور می دهد تا حالت خود را از آن بازیابی کند.این فرایند به طور موثر سند را به نسخه قبلی برگرداند.
مزایای استفاده از الگوی Memento
الگوی Memento مزایای مختلفی برای اجرای قابلیت های غیر قابل اجرا ارائه می دهد:
- [در این باره]: [[۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱
- [[۱] [۱۰]: [[۱۰] [۱] [۱]] [۱]] [۱] [۲]] [۲]] [۲]] [۲]] [۲]] [۲]] [۱]] [۲]] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۲]] [۱] [۱] [۲] [۵] [۵] [۵] [۲] [۲] [۵] [۵] [۱] [۱] [۲] [۱] [۵] [۵] [۵] [۲] [۲] [۲] [۵]]] [۱]]] [۳] [۳] [۳] [۲] [۳] [۲] [۲] [۳] [۳] [۲] [۲] [۲] [۲] [۲] [۲] [۲] [۳] [۳] [۳] [۳] [۱] [۳] [۱] [۲] [۲] [۲] [۲] [۲] [۲]]]] [۲] [۲]]] [۲] [۲
- اختلاف نگرانی ها: [FLT 1] مکانیسم خنثی از منطق اصلی ویرایشگر متن جدا شده است.
نتیجه گیری
پیاده سازی عملکرد غیر قابل اطمینان با الگوی Memento یک رویکرد قوی و قابل نگهداری را فراهم می کند.این اجازه می دهد تا ویراستاران متن راهی قابل اعتماد برای بازگرداندن تغییرات در حالی که حفظ یکپارچگی حالت داخلی برنامه است.