Design Elevator

class Door: def __init__(self, floor): self.floor = floor def open(self): print(f"{self.floor} door opened") self.status = "door opened" def close(self): print(f"{self.floor} door closed") self.status = "door close"class Button: def __init__(self, floor,…

Continue ReadingDesign Elevator

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