Зачем просто, когда можно сложно? (Hello World)
Забавные примеры переусложнённого кода
Задача: напечатать «Hello, world!». Так-так… Что же нам потребуется для её решения? Думаю, шести классов, двух фабрик, строителя и синглтона будет достаточно… Решение:
\\python from abc import ABC, abstractmethod
class Greeting(ABC): @abstractmethod def render(self): …
class HelloWorldGreeting(Greeting): def render(self): return “Hello, world!”
class GreetingFactory(ABC): @abstractmethod def create(self): …
class HelloWorldFactory(GreetingFactory): def create(self): return HelloWorldGreeting()
class GreetingBuilder: def __init__(self): self._factory = None def with_factory(self, factory): self._factory = factory return self def build(self): return self._factory.create()
class Application: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance def run(self): builder = GreetingBuilder().with_factory(HelloWorldFactory()) print(builder.build().render())
Application().run() \\
Работает. Но всё же проще так 🙂:
\\python print(“Hello, world!”) \\