美文网首页
Python设计模式

Python设计模式

作者: 卡门001 | 来源:发表于2023-05-21 00:14 被阅读0次

三种模式

  • 创建型模式
  • 结构型模式
  • 行为模式

创建型模式

单例模式

可以由import来实现

import ... #即为单实例模式,导入多次也被当成一次使用

多实例共享一个属性

利用类属性不会随实例变化而变化,实现多个实例共享(moonstate)一个属性

class MyClass:
    __class_variable = None

    def __init__(self, var):
        self.get_variable = var

    @property
    def get_variable(self):
        return self.__class_variable

    @get_variable.setter
    def get_variable(self, var):
        self.__class__.__class_variable = var

    def display(self):
        return self.get_variable


C1 = MyClass(1)
C2 = MyClass(2)

类属性赋值:
C2 = get_variable = ...

# C1与C2的get_variable 的值永远会相同
print(C1.get_varible)
print(C1.display()) 

结构型模式

最实用的是适配模式,通常用来解决兼容问题

""""
适配模式
"""


class UsbTypeA():
    def getName(self):
        return "TypeC接口"

    def oneFace(self):
        return "双面"


class UsbTypeC():
    def getName(self):
        return "TypeC接口"

    def doubleFace(self):
        return "双面"


class Adapter(UsbTypeC):
    def oneFace(self):
        return self.doubleFace()


iface1 = UsbTypeA()
print(iface1.oneFace())
iface2 = Adapter()
print(iface2.oneFace())

行为模式

责任链模式:实现了发送才与接收者解耦,让多个对象接收发送者请求,并沿着链式结构直接传递,直到有目标对象处理该请求为止

使用方式:

用 try ... exception 语句捕获异常,请求失败从DNS、HTTP、Socket 逐层返回

相关文章

  • 二十三种设计模式及其python实现

    参考文献: 《大话设计模式》——吴强 《Python设计模式》——pythontip.com 《23种设计模式》—...

  • 基础-单例模式

    单例模式总结-Python实现 面试里每次问设计模式,必问单例模式 来自《Python设计模式》(第2版) 1.理...

  • 《精通Python设计模式_带索引书签目录》 分享下载

    书籍信息 书名: 精通Python设计模式_带索引书签目录 标签: 精通Python设计模式_带索引书签目录,免费...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • Python 设计模式初探

    Python 设计模式初探 本博客是在阅读精通Python设计模式(中文版),以及阅读 Mask R-CNN 第三...

  • Python的官方教程

    Scrapy中文教程Django中文教程DjangoBookJavaScript设计模式大话设计模式-Python...

  • L1 Python自学 - 笔记

    1. 设计模式 1.1. Python 设计模式 https://www.bilibili.com/video/a...

  • 80 个Python 新手入门课demo

    Python3 简明教程 Python版设计模式实践 Python Flask Web框架 Python3 基于 ...

网友评论

      本文标题:Python设计模式

      本文链接:https://www.haomeiwen.com/subject/zdqasdtx.html