Прототип паттерн, очень непонятный код
Там где Реализация с общим хранилищем прототипов, методы addItem(id: string) и getByColor(color: string). Тут наверное опечатка, почему то addItem принимает 2 аргумета, а getByColor 1, хотя и там и там в скобках по 2 слова.
Дальше то что очень запутало: Псевдокод
class Application is field shapes: array of Shape constructor Application() is Circle circle = new Circle()
В примере в классе Application создается объект Circle с пустым конструктором, а в примерах выше, там где код класса Circle, конструктор только с аргуметом (source: Circle). Я только прочитав шаги реализации пункт 2 понял, в псевдокоде указан только альтернативный конструктор.
На самом деле простой паттерн, но разобраться в статье сложно.
Answer
Антон, спасибо за то, что нашли время написать об этом. По первой проблеме, в диаграмме ошибочно отсутствовал второй параметр в методе addItem. По второй, я явно добавил обычный конструктор в класс прототипа. Исправления уже доступны на сайте и в книге, ещё раз спасибо!
Customer support service by UserEcho
Антон, спасибо за то, что нашли время написать об этом. По первой проблеме, в диаграмме ошибочно отсутствовал второй параметр в методе addItem. По второй, я явно добавил обычный конструктор в класс прототипа. Исправления уже доступны на сайте и в книге, ещё раз спасибо!