PYTHON ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ

Python является одним из наиболее популярных языков программирования в мире. Благодаря своей простоте, гибкости и мощности, он стал любимым выбором для многих разработчиков. Вместе с тем, Python также имеет множество паттернов проектирования, которые помогают в создании эффективного и масштабируемого кода.

Один из таких паттернов - это "Одиночка". Он позволяет создать класс, который может иметь только один экземпляр, обеспечивая доступ к нему глобально во всей программе. Пример кода на Python для паттерна "Одиночка" выглядит следующим образом:

class Singleton: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance

Когда вы создаете экземпляр класса, он сохраняется как атрибут класса _instance. Когда вы пытаетесь создать новый экземпляр класса, метод __new__ проверяет, существует ли уже экземпляр. Если да, то он возвращает существующий экземпляр, если нет, то создает новый экземпляр и возвращает его.

Еще один паттерн проектирования, который часто используется в Python, это "Фабричный метод". Он позволяет создавать объекты, не указывая их конкретные классы, а используя фабричный метод для создания экземпляров. Это особенно полезно в случае, когда классы объектов, которые нужно создать, неизвестны на момент написания кода. Пример кода на Python для паттерна "Фабричный метод" выглядит следующим образом:

class Dog: def __init__(self, name): self.name = name def speak(self): return "Гав-гав!" class Cat: def __init__(self, name): self.name = name def speak(self): return "Мяу-мяу!" def get_pet(pet="dog"): pets = dict(dog=Dog("Шарик"), cat=Cat("Барсик")) return pets[pet]d = get_pet("dog")print(d.speak())c = get_pet("cat")print(c.speak())

В этом примере мы создали два класса: Dog и Cat. Каждый класс имеет метод speak, который сообщает, какой звук издает животное. Затем мы создали функцию get_pet, которая принимает один аргумент - тип животного (по умолчанию - собака) и создает объект нужного класса с помощью словаря.

Наконец, мы вызываем функцию get_pet с различными аргументами и выводим звук, издаваемый каждым животным. Это дает нам гибкость в создании объектов, не заставляя нас заранее знать, какой класс объекта мы хотим создать.

Проекты для Backend разработчиков👨‍💻3 идеи

Шаблоны проектирования в программировании

ПАТТЕРН ПРОЕКТИРОВАНИЯ АДАПТЕР - Python 3, Питон 3

3 лучших Питон Паттерна для твоего кода. Топ Уникальных Python Паттернов

SINGLETON. ПАТТЕРН ПРОЕКТИРОВАНИЯ - Python 3, Питон 3

Python - Полный Курс по Python [10 ЧАСОВ]

BLGPG-E41B10D0B3DE-24-09-20-01

Новые материалы: