Singleton Pattern

class Logger(object): _instance = None def __init__(self): raise RuntimeError('Error: Call instance() instead') @classmethod def instance(cls): if cls._instance is None: print('Creating new instance') cls._instance = cls.__new__(cls) return cls._instance def __str__(self): return…

Continue ReadingSingleton Pattern

Factory Pattern

class CompressionFactory: compression = {} def __new__(cls): cls.compression = {"rar": Rar(), "tar": Tar(), "zip": Zip()} return cls @classmethod def getCompression(cls, method): return cls.compression[method]import abcclass File(abc.ABC): def __init__(self, txt): self.txt =…

Continue ReadingFactory Pattern