设计模式(基于Python3)
主要参考资料:
【设计模式 inPy】一个视频搞懂三种设计模式:工厂、建造者和单例: https://b23.tv/sNAJw17
工厂模式?错!是工厂模式群!: https://b23.tv/nncOf3V
目录
- 1.创建型设计模式
- 1.1工厂模式
- 1.2建造者模式
- 1.3单例模式
- 2.行为型设计模式
1.创建型设计模式
1.1工厂模式
工厂模式的核心是将对象的创建过程和使用过程分开。解耦对象的创建与使用。
class DatabaseConnection:def __init__(self, host):self.host = hostdef connect(self):return f"Connecting to database at {self.host}"def connection_factory(type):from config import configsreturn DataBaseConnection(**configs[type])main_db = connection_factory('main')
analytics_db = connection_factory('analytics')
cache_db = connection_factory('cache')
1.2建造者模式
基本思想为,分步骤创建复杂对象
构造逻辑需要清晰,切勿违背责任单一原则。
1.3单例模式
基本思想为在类里面使用类变量存放一个实例。每次想要获取这个实例时就返回类变量中的实例。
class A_instance = None#重写new,有对象时返回原来对象,没有对象时新建一个对象def __new__(cls, *args, **kwargs):if cls._instance is None:cls._instance =super().__new__(cls)return cls._instance
2.行为型设计模式
核心目标:优化对象间的交互与责任分配