三种模式
- 创建型模式
- 结构型模式
- 行为模式
创建型模式
单例模式
可以由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 逐层返回
网友评论