medium
Рефакторинг Python кода с учетом ООП
Оптимизируйте предоставленный процедурный код, используя принципы объектно-ориентированного программирования и паттерны проектирования.
📝 Содержимое промпта
Вам предоставлен фрагмент кода на Python, содержащий дублирование логики и нарушение принципа DRY. Перепишите этот код, используя паттерн 'Стратегия' (Strategy Pattern) для обработки различных типов платежей. Убедитесь, что код типизирован с использованием type hints, включает docstrings для всех методов и классов, а также обрабатывает потенциальные исключения с помощью пользовательских классов ошибок.