Flask接口签名sign原理与实例代码浅析
746
2022-08-29
python24种设计模式(python定义了三种界面布局方式)
请看大王的表演
1.单例模式
"""单例模式:就是项目从头到尾只会创建一个对象;解析:就是判断对象存在吗,不存在则创建原理:类实例化,会走new方法。"""class A(): __obj = None def __new__(cls, *args, **kwargs): if not cls.__obj: cls.__obj = object.__new__(cls) return cls.__objdef fun(): a = A() print(id(a))# 测试代码啊from threading import Threadfor i in range(500): t = Thread(target=fun) t.start()
View Code
2.工厂模式
"""工厂模式:就是一个工厂,你告诉我吉利,我就会给你创建吉利,我不会让你看到是怎么创建的;这个要求对象内部属性和方法都是一样的。"""class CarFactory(): def create(self,obj): obj.create()class CarA(): def create(self): print("创建A型号车,ID为99")class CarB(): def create(self): print("创建B型号车,ID为99")if __name__ == "__main__": # 创建一个工厂对象 carFactory = CarFactory() # 生产车A carA = CarA() carFactory.create(carA) # 生产车B carB = CarB() carFactory.create(carB)
View Code
3.建造者模式
"""建造者模式模式:我认为是 对调用工厂模式的封装这个要求对象内部属性和方法都是一样的。"""class CarFactory(): def create(self,obj): obj.create()class CarA(): def create(self): print("创建A型号车,ID为99")class CarB(): def create(self): print("创建B型号车,ID为99")def initCreate(): # 创建一个工厂对象 carFactory = CarFactory() # 生产车A carA = CarA() carFactory.create(carA) # 生产车B carB = CarB() carFactory.create(carB) if __name__ == "__main__": initCreate()
View Code
4.适配器模式
"""适配器类:是为了不让用户看到这个类,所以需要对这个类进行封装一下;男人类一代隐身男人类二代继承一代这个和工厂的模式的区别:工厂模式:用工厂类去 适配 所有的类适配器模式:用一个二代类 适配 其中一个类"""# 基类class People(): pass# 想让他看见这个类class Woman(People): def __init__(self,name): self.name = name def eat(self): print(f"女人在吃饭")# 1.1不想让他们看到这个类,class Man(People): def __init__(self,name): self.name = name def eat(self): print(f"男人在吃饭")#1.2需要写一个类对他重写一下class TranslatMan(People): obj = None def __init__(self,name): self.obj = Man(name) def eat(self): self.obj.eat()if __name__ == "__main__": woman = Woman("小琴") woman.eat() translatMan = TranslatMan("木木") translatMan.eat()
View Code
-----------------------------------------------------------------------------------------------------------------------------------------
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~