摘要:
from abc import ABCMeta, abstractmethod class Animal(metaclass=ABCMeta): @abstractmethod def say(self): pass class Dog(Animal): def say(self): print(" 阅读全文
摘要:
# 创建型模式-单例模式(使用元类实现)# 线程锁:防止创建多个实例# 双重检查:实例创建后,防止重复加锁占用资源# __call__作用:__call__方法使一个类的实例像方法一样调用,当我们调用一个实例时,实际就是调用了它的__call__方法import timefrom threading 阅读全文
摘要:
import time from threading import Lock from concurrent.futures import ThreadPoolExecutor class Test(): pass class Singleton(): _local = Lock() _insran 阅读全文
摘要:
# 创建型模式-单例模式(使用装饰器实现) # 线程锁:防止创建多个实例 # 双重检查:实例创建后,防止重复加锁占用资源 from threading import Lock from concurrent.futures import ThreadPoolExecutor def single_d 阅读全文
摘要:
# 使用魔法方法__new__实现单例模式 # 线程锁:防止创建多个实例 # 双重检查:实例创建后,防止重复加锁占用资源 from threading import Lock class Singletion(): _local = Lock() _instance = None def __new 阅读全文
摘要:
singletion模块 class Test(): pass a = Test() 调用模块 from singleton.test import a if __name__ == "__main__": for item in range(10): b = a print(id(b)) 阅读全文
摘要:
# 模式类型:结构性模型 # 模型方法:动态代理模式 # 作用:相对于静态代理,动态代理更灵活。不需要手动实现接口类中的所有方法,接口新增方法后动态代理无需修改。 # 使用场景:监控。日志,限流 from abc import ABCMeta, abstractmethod import types 阅读全文
摘要:
# 模式类型:结构性模型 # 模型方法:静态代理模式 # 作用:在不修改目标代码的情况下,可以控制目标代码的访问,可以在其前后添加自己的业务代码 # 使用场景:监控。日志,限流 from abc import ABCMeta, abstractmethod class ITeacher(metacl 阅读全文
摘要:
面相对象的7大原则 开闭原则:对新增开放对修改关闭 依赖倒转原则:抽象类不依赖实现,实现以来抽象类 接口隔离原则:接口尽量细化,客户端只依赖需要的接口 单一职能原则:类功能尽量单一 里氏替换原则:子类可以替换父类,且不影响功能 迪米特法则:又叫最少知道原则,一个对象应对其他对象尽可能少的了解,尽量不 阅读全文
摘要:
查看CPU信息 https://www.cnblogs.com/yaoyangding/p/15489297.html 查看磁盘空间df -h 查看内存 -m:以兆字节为单位显示。free -m 查看内存品牌dmidecode -t memory | grep Manufacturer 查看磁盘详细 阅读全文