Я попытался применить паттерн фасада, аналогичный концепции, которую я использовал в Java, но я не думаю, что это совсем правильно. Я думаю, что проблема в классе ShapeMaker
или Main
, как вы думаете, здесь проблема?
from __future__ import annotations
class Rectangle:
def draw(self):
print("Rectangle draw()")
class Square:
def draw(self):
print("Square draw()")
class Circle:
def draw(self):
print("Circle draw()")
class ShapeMaker:
def __init__(self) -> None:
self.rectangle = Rectangle()
self.square = Square()
self.circle = Circle()
def drawRectangle(self):
self.rectangle.draw()
def drawSquare(self):
self.square.draw()
def drawCircle(self):
self.circle.draw()
if __name__ == "__main__":
shapemaker = ShapeMaker()
shapemaker.drawCircle()
shapemaker.drawSquare()
shapemaker.drawRectangle()