النمط التذكاري هو نمط تصميمي يستخدم في مجال هندسة البرمجيات وأنماطها ويندرج تحت فئة الأنماط السلوكية. الهدف الرئيسي من هذا النمط هو توفير آلية لالتقاط واستعادة الحالة الداخلية لكائن ما في وقت معين دون الكشف عن بنيته الداخلية أو انتهاك التغليف. يُستخدم نمط Memento على نطاق واسع في الحالات التي تتطلب وظيفة التراجع أو العودة إلى الحالة السابقة، وهو مفيد بشكل خاص في تطبيقات مثل العمليات غير القابلة للتراجع، أو التعافي من الأعطال، أو استعادة حالة الكائنات في نظام واسع النطاق.
في سياق نمط التذكار، هناك ثلاثة أدوار بارزة: المنشئ، ومقدم الرعاية، والتذكار. المنشئ هو الكائن الأساسي الذي يجب التقاط حالته واستعادتها. هذا المكون مسؤول عن إنشاء التذكارات التي تخزن لقطات من حالته الداخلية مع توفير طرق لاستعادة الحالة من هذه التذكارات. يعتبر Caretaker كائنًا خارجيًا يدير التذكارات ولكنه لا يتداخل مع حالة التذكارات. وأخيرًا، التذكار نفسه عبارة عن كائن تخزين سلبي خفيف الوزن يخزن حالة المنشئ.
يوفر Memento Pattern مزايا متنوعة، مثل تقليل تعقيد Originator من خلال التركيز فقط على وظيفته الرئيسية مع تفويض التقاط الحالة واستعادتها إلى مكونات منفصلة. يؤدي هذا إلى تحسين قابلية الصيانة والتعليمات البرمجية النظيفة والفصل الأفضل بين الاهتمامات. ميزة أخرى هي تغليف الحالة وتحسين التعاون بين المنشئ ومقدم الرعاية، حيث يعمل التذكار كصندوق أسود لمقدم الرعاية، الذي لا يكون على علم بتمثيل الحالة الداخلية.
يمكن توضيح تنفيذ نموذج Memento باستخدام مثال. فكر في تطبيق محرر نصوص يتطلب وظيفة التراجع. مستند محرر النصوص هو المنشئ الذي يجب التقاط حالته واستعادتها. يمكن لكل Memento تخزين النص وموضع المؤشر ونمط الخط والمعلومات الأخرى ذات الصلة. يدير Caretaker مجموعة من التذكارات ذات الصلة بالعمليات المنفذة. عندما يقوم المستخدم بإجراء ما، يلتقط التطبيق الحالة الحالية للمستند كتذكار ويدفعه إلى المكدس الذي يديره Caretaker. إذا كان المستخدم بحاجة إلى التراجع عن إجراء ما، فسيقوم التطبيق بإحضار التذكار العلوي من المكدس واستعادة حالة المستند منه.
AppMaster عبارة عن منصة قوية no-code لإنشاء تطبيقات الواجهة الخلفية والويب والهواتف المحمولة التي تستفيد من أنماط هندسة البرامج الحديثة، والتي قد تتضمن نمط Memento عند الضرورة. يسمح AppMaster للمستخدمين بإنشاء نماذج البيانات ومنطق الأعمال وواجهات برمجة تطبيقات REST endpoints WSS ومكونات واجهة المستخدم بشكل مرئي باستخدام واجهة drag-and-drop. فهو يقوم بأتمتة العملية الكاملة لإنشاء التعليمات البرمجية المصدر، وتجميع التطبيقات، وإجراء الاختبارات، والتعبئة في حاويات Docker، والنشر على السحابة.
قد يكون أحد التطبيقات المحتملة لنموذج Memento Pattern داخل AppMaster هو إصدار وإدارة التكرارات المختلفة للمخطط. نظرًا لأن المستخدمين يقومون بإجراء تغييرات على مخططاتهم بمرور الوقت، فمن الضروري الاحتفاظ بسجل لهذه التغييرات والسماح للمستخدمين بالعودة إلى الإصدارات السابقة إذا لزم الأمر. يمكن تحقيق ذلك من خلال الاستفادة من نموذج التذكار، بحيث يؤدي كل تغيير في المخطط إلى إنشاء تذكار وجعله متاحًا للاسترداد بواسطة القائم بالأعمال.
يؤدي هذا التكامل لنمط Memento داخل النظام البيئي AppMaster في النهاية إلى تجربة تطوير محسنة، مما يؤدي إلى تطبيقات يسهل صيانتها وتوسيع نطاقها بمرور الوقت. من خلال تبني أنماط هندسة البرمجيات الحديثة مثل نمط Memento، تسعى AppMaster جاهدة لتقديم حل تطوير شامل وشامل وسريع وفعال من حيث التكلفة، ويزيل الديون التقنية، مما يضع الأساس للنجاح في مشهد تطوير التطبيقات المعقد والمتطلب اليوم .