Python中怎么实现代码设计模式

44次阅读
没有评论

共计 1311 个字符,预计需要花费 4 分钟才能阅读完成。

在 Python 中实现设计模式通常是通过创建类和对象来实现的。以下是一些常见的设计模式以及在 Python 中实现的示例:

  1. 单例模式(Singleton Pattern):
class Singleton:
    _instance = None

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

# 使用单例模式 
s1 = Singleton()
s2 = Singleton()
print(s1 is s2)  # True
  1. 工厂模式(Factory Pattern):
class Shape:
    def draw(self):
        pass

class Circle(Shape):
    def draw(self):
        print("Drawing Circle")

class Rectangle(Shape):
    def draw(self):
        print("Drawing Rectangle")

class ShapeFactory:
    def create_shape(self, shape_type):
        if shape_type == "circle":
            return Circle()
        elif shape_type == "rectangle":
            return Rectangle()

# 使用工厂模式 
factory = ShapeFactory()
circle = factory.create_shape("circle")
circle.draw()
  1. 观察者模式(Observer Pattern):
class Observer:
    def update(self, message):
        pass

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

    def add_observer(self, observer):
        self.observers.append(observer)

    def remove_observer(self, observer):
        self.observers.remove(observer)

    def notify_observers(self, message):
        for observer in self.observers:
            observer.update(message)

# 使用观察者模式 
class ConcreteObserver(Observer):
    def update(self, message):
        print(f"Received message: {message}")

subject = Subject()
observer1 = ConcreteObserver()
observer2 = ConcreteObserver()
subject.add_observer(observer1)
subject.add_observer(observer2)
subject.notify_observers("Hello")

以上是一些常见的设计模式在 Python 中的实现示例,当然还有其他设计模式可以在 Python 中实现,具体实现方式取决于具体的设计模式和需求。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-05-15发表,共计1311字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)