设计模式

设计模式

总共23种 分为三大类
创建型  结构性   行为性
"""
设计模式是前辈们发明的经过反复验证用于解决固定问题的固定套路
"""
单列模式
是一个类只能产生一个对象  节约资源
 应用场景:
    有一个类中有很多非常牛逼的绑定给对象的方法
    我们需要在很多地方使用它 那么不同的程序员来用不知道有没有产生对象
    所以自己会创建一个新对象 如此往复则会造成资源的浪费
  如何实现:
    我们需要在类实例化对象的时候进行干涉	>>>:	元类
  单例模式:(可以有很多种编写方式)
class Single(type):
    new_obj = None
    def __call__(self, *args, **kwargs):
        if not self.new_obj:
            obj = super().__call__(*args, **kwargs)
            self.new_obj = obj
            return self.new_obj
        return self.new_obj

class MyClass(metaclass=Single):
    def __init__(self, name):
        self.name = name
obj1 = MyClass('bob')
obj2 = MyClass('kavin')
print(id(obj1), id(obj2))
print(obj1.__dict__, obj2.__dict__) 
'''单列模式实现很多 方式不固定'''

pickle模块

'''该模块只支持python 兼容性较差'''
需求:将对象保存到文件 并且取出来之后使用对象的功能
import pickle

class MyClass(object):
    school = 'school'
    def __init__(self, name):
        self.name = name
    def choose_course(self):
        print('%s正在选课' % self.name)

obj = MyClass('bob')
obj.choose_course()
with open(r'%s' % obj.name,'wb')as f:
    pickle.dump(obj, f)
with open(r'bob', 'rb')as f:
    data = pickle.load(f)

print(data)
print(data.name)
print(data.school)

posted @   末笙  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示