и посмотреть медиа
Preguntas de la entrevista de Python - pruebas
и посмотреть медиа
Preguntas, pruebas y tareas para entrevistas en Python.
Preguntas, pruebas y tareas para entrevistas en Python.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Canal con preguntas para entrevistas a Python. Pruebas, tareas y materiales para la preparación.
🤔 Что такое хранитель (Memento)? Это поведенческий паттерн проектирования, который позволяет сохранять и восстанавливать предыдущее состояние объекта без нарушения инкапсуляции. Этот паттерн особенно полезен для реализации операций отмены и повтора, так как он позволяет хранить состояния объектов и возвращать их к этим состояниям по необходимости. 🚩Зачем нужен? 🟠Сохранение состояния: Позволяет сохранять текущее состояние объекта и восстанавливать его позже. 🟠Инкапсуляция: Обеспечивает сохранение состояния объекта без нарушения его инкапсуляции. Внутренние детали объекта остаются скрытыми от других объектов. 🟠Отмена и повтор операций: Поддерживает функциональность отмены и повтора операций, так как позволяет возвращать объект к предыдущим состояниям. Пример реализации class Memento: def __init__(self, state: str): self._state = state def get_state(self) -> str: return self._state class TextEditor: def __init__(self): self._state = "" self._history = [] def type(self, text: str): self._save_state() self._state += text def _save_state(self): self._history.append(Memento(self._state)) def undo(self): if not self._history: return memento = self._history.pop() self._state = memento.get_state() def get_content(self) -> str: return self._state # Клиентский код для использования паттерна Хранитель def main(): editor = TextEditor() editor.type("Hello, ") editor.type("world!") print(editor.get_content()) # Hello, world! editor.undo() print(editor.get_content()) # Hello, editor.undo() print(editor.get_content()) # if __name__ == "__main__": main() 1⃣`Memento`: Сохраняет состояние объекта. Он предоставляет методы для получения сохраненного состояния, но не предоставляет методов для изменения состояния, что обеспечивает неизменность. 2⃣`TextEditor`: Создает и использует объекты Memento для сохранения и восстановления своего состояния. Методы type и undo позволяют редактировать текст и отменять изменения. 3⃣`_save_state`: Сохраняет текущее состояние редактора в истории перед каждым изменением. 4⃣`undo`: Восстанавливает предыдущее состояние редактора из истории. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!