Middle+
Чӣ гуна моделҳои тарҳрезии сохторӣ ҳастанд?
sobes.tech AI
Ҷавоб аз AI
Носулҳои тарҳрезии сохторӣ тасвир мекунанд, ки чӣ гуна синфҳо ва объектҳо метавонанд барои сохтани сохторҳои калонтар бо ҳам пайванд шаванд. Онҳо кӯмак мекунанд, ки муошират байни объектҳоро ташкил кунанд, ки системаро бештар чандир ва нигоҳдоштанашаванда гардонанд.
Баъзе намунаҳои маъмули сохторӣ:
- Adapter (Адаптер): Имкон медиҳад, ки синфҳо бо интерфейсҳои номувофиқ ҳамкорӣ кунанд.
- Bridge (Пул): Абстраксияро аз иҷрои он ҷудо мекунад, ки имкон медиҳад ҳарду мустақилона тағир ёбанд.
- Composite (Компонент): Имкон медиҳад, ки гурӯҳи объектҳоро ҳамчун як объект қабул кард.
- Decorator (Декоратор): Ба объектҳо дар динамикӣ рафторҳои нав илова мекунад, бе тағир додани коди онҳо.
- Facade (Фасад): Интерфейси ягона барои маҷмӯи интерфейсҳо дар зерсистема медиҳад.
- Flyweight (Flyweight): Ҳамоҳангсозии хотирасозӣ бо тақсим кардани ҳолати умумӣ байни бисёр объектҳои хурд.
- Proxy (Прокси): Муҳимият медиҳад, ки барои дигар объект ҷойгузин шавад барои назорати дастрасӣ.
Масалан барои истифодаи модел Декоратор:
# Компоненти асосӣ
class Coffee:
def cost(self):
return 5
def description(self):
return "Кофеи оддӣ"
# Декоратори асосӣ
class CoffeeDecorator:
def __init__(self, coffee):
self._coffee = coffee
def cost(self):
return self._coffee.cost()
def description(self):
return self._coffee.description()
# Декоратори мушаххас
class MilkDecorator(CoffeeDecorator):
def cost(self):
return self._coffee.cost() + 2
def description(self):
return self._coffee.description() + ", бо шири"
# Истифода
my_coffee = Coffee()
print(my_coffee.description(), "-", my_coffee.cost()) # Кофеи оддӣ - 5
coffee_with_milk = MilkDecorator(my_coffee)
print(coffee_with_milk.description(), "-", coffee_with_milk.cost()) # Кофеи оддӣ, бо шири - 7
Ин моделҳо бо истифода аз таркиби объектҳо ба ҷои меросгардонӣ, чандириро таъмин мекунанд, ки имкон медиҳад, ки дар системаи тағиротҳо ворид карда шаванд бе тағир додани коди мавҷуда.