0
Ошибка в легковесе python?
Приветствую, нет ли у вас ошибки у паттерне "Легковес"?
https://refactoring.guru/ru/design-patterns/flyweight/python/example#lang-features
class FlyweightFactory(): def __init__(self, initial_flyweights: Dict) -> None: for state in initial_flyweights: self._flyweights[self.get_key(state)] = Flyweight(state)
Конструктор Класса принимает на входе параметр initial_flyweights: Dict
В коде туда передаем массив
factory = FlyweightFactory([ ["Chevrolet", "Camaro2018", "pink"], ["Mercedes Benz", "C300", "black"], ["Mercedes Benz", "C500", "red"], ["BMW", "M5", "red"], ["BMW", "X6", "white"], ])
Отсюда же, вытекает ошибка в самом конструкторе:
def __init__(self, initial_flyweights: Dict) -> None: for state in initial_flyweights: self._flyweights[self.get_key(state)] = Flyweight(state)
self.get_key(state)
state будет list[str] и мы не сможем применить get_key для массива
def get_key(self, state: Dict) -> str: """ Возвращает хеш строки Легковеса для данного состояния. """ return "_".join(sorted(state))
Servicio de atención al cliente por UserEcho