Python中的Facade模式

2024-10-03 17:19:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试应用一种与Java中的概念类似的facade模式,但我认为它并不完全正确。我认为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()

Tags: selfdefclassprintdrawsquarecirclerectangle