主要参考资料:
【设计模式 inPy】一个视频搞懂三种设计模式:工厂、建造者和单例: https://b23.tv/sNAJw17
工厂模式?错!是工厂模式群!: https://b23.tv/nncOf3V
1.创建型设计模式
1.1工厂模式
工厂模式的核心是将对象的创建过程和使用过程分开。解耦对象的创建与使用。
class DatabaseConnection:
def __init__(self, host):
self.host = host
def connect(self):
return f"Connecting to database at {self.host}"
def connection_factory(type):
from config import configs
return 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.行为型设计模式
核心目标:优化对象间的交互与责任分配