设计模式是软件工程中的重要概念,它可以帮助开发者编写更加清晰、可维护和可扩展的代码。以下是一些常见的设计模式及其简介。

1. 单例模式(Singleton)

单例模式确保一个类只有一个实例,并提供一个全局访问点。

class Singleton:
    _instance = None

    def __new__(cls):
        if not cls._instance:
            cls._instance = super(Singleton, cls).__new__(cls)
        return cls._instance

2. 工厂模式(Factory)

工厂模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

class CarFactory:
    def create_car(self):
        return Car()

class ElectricCarFactory(CarFactory):
    def create_car(self):
        return ElectricCar()

3. 观察者模式(Observer)

观察者模式定义对象间的一种一对多的依赖关系,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。

class Subject:
    def __init__(self):
        self._observers = []

    def attach(self, observer):
        self._observers.append(observer)

    def detach(self, observer):
        self._observers.remove(observer)

    def notify(self):
        for observer in self._observers:
            observer.update()

class Observer:
    def update(self):
        pass

class ConcreteObserver(Observer):
    def update(self):
        print("Observer received the notification.")

4. 装饰器模式(Decorator)

装饰器模式动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活。

class Component:
    def operation(self):
        pass

class ConcreteComponent(Component):
    def operation(self):
        return "ConcreteComponent operation"

class Decorator(Component):
    def __init__(self, component):
        self._component = component

    def operation(self):
        return self._component.operation()

更多设计模式的学习,可以参考我们的设计模式深入解析教程。

[center][https://cloud-image.ullrai.com/q/Design_Patterns/](Design Patterns)[/center]