Memento Pattern in Python
Memento Pattern in Python को संपादित और ऑनलाइन चलाए जा सकने वाले व्यावहारिक उदाहरण से सीखें।
Memento Pattern क्या है?
Memento Pattern in Python को संपादित और ऑनलाइन चलाए जा सकने वाले व्यावहारिक उदाहरण से सीखें।
इसका उपयोग कब करें?
- सिद्ध संरचनाओं से बार-बार आने वाली object-design समस्याएँ हल करें।
- जिम्मेदारियों को अलग करें ताकि code को बढ़ाना और test करना आसान हो।
- टीम में architecture पर चर्चा करते समय साझा design शब्दावली का उपयोग करें।
उदाहरण कोड
main.py
from dataclasses import dataclass
@dataclass(frozen=True)
class Snapshot:
# Memento: store a restorable snapshot without exposing internals.
text: str
class Editor:
def __init__(self): self.text = ""
def save(self): return Snapshot(self.text)
def restore(self, snapshot):
# Restore state without exposing representation details.
self.text = snapshot.text
editor = Editor()
editor.text = "draft"
saved = editor.save()
editor.text = "changed"
editor.restore(saved)
print(editor.text)
अपेक्षित आउटपुट
draft
यह कैसे काम करता है
यह उदाहरण Memento Pattern in Python दिखाता है। कोड समझने के लिए इनपुट मान बदलें।
मान बदलें और Python इंस्टॉल किए बिना CodeUtility ऑनलाइन Python कंपाइलर में प्रोग्राम चलाएँ।
अभ्यास के कार्य
बड़े dataset पर जाने से पहले input बदलें और edge cases की जाँच करें।
- Pattern की संरचना बनाए रखते हुए उदाहरण का domain बदलें।
- Pattern की तुलना सरल implementation से करें और उनके trade-off समझाएँ।
- नई implementation जोड़ने से पहले प्रत्येक participant के लिए test लिखें।