摘要: # 行为型模式-责任链模式 from abc import ABCMeta, abstractmethod class IHandler(metaclass=ABCMeta): @abstractmethod def check_permissions(self, request): pass cl 阅读全文
posted @ 2023-06-29 10:50 你看起来真的很好吃 阅读(9) 评论(0) 推荐(0)
摘要: # 行为型模式-观察者模式 from abc import ABCMeta, abstractmethod class IObserver(metaclass=ABCMeta): @abstractmethod def update(self, temperature): pass class Ba 阅读全文
posted @ 2023-06-28 17:54 你看起来真的很好吃 阅读(7) 评论(0) 推荐(0)
摘要: # 结构性模式-装饰模式 from abc import ABCMeta, abstractmethod class IPeople(metaclass=ABCMeta): @abstractmethod def show(self): pass class XiaoMing(IPeople): n 阅读全文
posted @ 2023-06-28 16:53 你看起来真的很好吃 阅读(16) 评论(0) 推荐(0)
摘要: # 创建型模式-抽象工厂模式 # 在工厂抽象类中有多个创建对象的方法, from abc import ABCMeta, abstractmethod class IApple(metaclass=ABCMeta): @abstractmethod def show(self): pass clas 阅读全文
posted @ 2023-06-28 15:35 你看起来真的很好吃 阅读(20) 评论(0) 推荐(0)
摘要: # 创建型模式-工厂方法模式 # 相对于简单工厂模式,如果添加了新的动物类,对用的工厂方法需要一并修改违反了开闭原则, # 因此工厂方法模式, 新增了抽象工厂类,将具体工厂进行隔离满足开闭原则 from abc import ABCMeta, abstractmethod class IAnimal 阅读全文
posted @ 2023-06-28 14:07 你看起来真的很好吃 阅读(4) 评论(0) 推荐(0)
摘要: from abc import ABCMeta, abstractmethod class Animal(metaclass=ABCMeta): @abstractmethod def say(self): pass class Dog(Animal): def say(self): print(" 阅读全文
posted @ 2023-06-28 11:40 你看起来真的很好吃 阅读(8) 评论(0) 推荐(0)
摘要: # 创建型模式-单例模式(使用元类实现)# 线程锁:防止创建多个实例# 双重检查:实例创建后,防止重复加锁占用资源# __call__作用:__call__方法使一个类的实例像方法一样调用,当我们调用一个实例时,实际就是调用了它的__call__方法import timefrom threading 阅读全文
posted @ 2023-06-27 14:37 你看起来真的很好吃 阅读(8) 评论(0) 推荐(0)
摘要: import time from threading import Lock from concurrent.futures import ThreadPoolExecutor class Test(): pass class Singleton(): _local = Lock() _insran 阅读全文
posted @ 2023-06-27 13:59 你看起来真的很好吃 阅读(9) 评论(0) 推荐(0)
摘要: # 创建型模式-单例模式(使用装饰器实现) # 线程锁:防止创建多个实例 # 双重检查:实例创建后,防止重复加锁占用资源 from threading import Lock from concurrent.futures import ThreadPoolExecutor def single_d 阅读全文
posted @ 2023-06-27 13:46 你看起来真的很好吃 阅读(18) 评论(0) 推荐(0)
摘要: # 使用魔法方法__new__实现单例模式 # 线程锁:防止创建多个实例 # 双重检查:实例创建后,防止重复加锁占用资源 from threading import Lock class Singletion(): _local = Lock() _instance = None def __new 阅读全文
posted @ 2023-06-27 10:35 你看起来真的很好吃 阅读(12) 评论(0) 推荐(0)