当前位置: 首页 > news >正文

设计模式(基于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.行为型设计模式

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

相关文章:

  • 深度学习让鱼与熊掌兼得
  • 填报表之自动计算
  • 力扣-236.二叉树的最近公共祖先
  • 【Java Web】速通JSON
  • 【Fifty Project - D26】
  • Python函数返回值的艺术:为何True/False是更优实践及例外情况分析
  • Da14531蓝牙特征值1读没有回调解决
  • DataHub:现代化元数据管理的核心平台与应用实践
  • 数据结构与算法-线性表-单链表(Linked List)
  • 【免费分享】虚拟机VM(适用于 Windows)17.6.3
  • 一文讲透 Vue3 + Three.js 材质属性之皮革篇【扫盲篇】
  • JAVA:多线程使用哈希表
  • Java类加载器深度解析:从原理到实践
  • 通用软件项目全技术栈综合能力评估 - 架构师级挑战
  • 第三章:JavaScript引擎 · 行为之火
  • 黑马程序员c++2024版笔记 第一章
  • vue-quill-editor富文本编辑器
  • 【有理数加法结构体】2022-1-3
  • “禁塑行动·我先行”环保公益项目落地宁夏,共筑绿色生活新篇章
  • HashSet
  • 最高检公布一起离婚纠纷典型案例:推动离婚经济补偿制度落实
  • 上海“城市文明开放麦”全城总动员,樊振东担任首位上海城市文明大使
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 中国乒协坚决抵制恶意造谣,刘国梁21日将前往多哈参加国际乒联会议
  • 北京13日冰雹过后,已受理各险种报案近3万件
  • 中东睿评|特朗普中东三国行:喧嚣的形式与空洞的实质