中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Python中怎么實現代碼設計模式

小億
82
2024-05-10 17:55:56
欄目: 編程語言

在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中實現,具體實現方式取決于具體的設計模式和需求。

0
西乡县| 锦州市| 将乐县| 东至县| 桃源县| 永仁县| 于都县| 陵川县| 阿图什市| 鹤庆县| 乐安县| 涡阳县| 囊谦县| 韶山市| 安新县| 三原县| 巴彦淖尔市| 聂拉木县| 文登市| 库车县| 牡丹江市| 淮阳县| 甘孜县| 阿瓦提县| 葫芦岛市| 辽中县| 常熟市| 崇文区| 富锦市| 新巴尔虎左旗| 鹰潭市| 文登市| 乌海市| 虎林市| 长泰县| 广州市| 公主岭市| 泰顺县| 富川| 剑阁县| 侯马市|