سلام و احترام؛
یه سوالی که برام پیش اومده این هست که آیا واقعا نیاز هست مانند کدی که استاد برای الگوی AbstractFactory نوشتن اینقدر خرد شد و یا همینکه بتونیم مفهوم رو پیاده سازی کنیم کافی است مثلا من برای تمرین، این کد زیر رو نوشتم و میخوام بدونم که با اینکه اونقدر ریز نشدم آیا تونستم این الگو رو پیاده سازی کنم یا خیر؟!
from abc import ABC, abstractmethod
class ProductBase(ABC):
@abstractmethod
def detail(self):
pass
@abstractmethod
def price(self):
pass
class Rugs(ProductBase):
def __init__(self, name, price, rug_type):
self.name = name
self._price = price
self.rug_type = rug_type
def detail(self):
return f"name: {self.name}\ttype: {self.rug_type}"
def price(self):
return f"price: {self._price}"
class GiftCard(ProductBase):
def __init__(self, company, value_card):
self.company = company
self.value_card = value_card
def detail(self):
return f"company: {self.company}"
def price(self):
return f"value: {self.value_card}"
if __name__ == '__main__':
r1 = Rugs('homa', 100, 'machine')
r2 = Rugs('atlas', 200, 'handicraft')
g1 = GiftCard('google', 20)
g2 = GiftCard('amazon', 50)
products = [r1, r2, g1, g2]
for product in products:
print(product.detail())
print(product.price())