设计模式(基于Python3)

主要参考资料:
【设计模式 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.行为型设计模式

核心目标:优化对象间的交互与责任分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值