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