Я пытаюсь задрать голову вокруг шаблона адаптера, из всех образцов, которые мне труднее всего представить для использования.Является сопоставителем версии адаптера.
Я думаю, что понимаю, что достигнуто, мне нужно преобразовать объект в другой интерфейс, чтобы клиент мог его использовать.
В примерах, которые я видел, они имеют смысл, но я чувствую, что могу достичь такого же результата с помощью картографа, который берет объект и отображает его свойства (возможно, применяя некоторую логику) к нужному типу объекта, чтобы реальный объект используется вместо этого.
Есть ли разница или они разные названия для одного и того же?
Благодарим за хороший пример, и это имеет смысл, не могли бы вы объяснить, зачем вам это нужно? Вместо простого варианта? Разрешить ли какие-либо обновления кошке распространяться на приспособленный к собаке объект? Является ли это вопросом статических свойств и динамически обновляемого свойства? – berimbolo
Иногда более дорогое копирование данных для поддержки целевого интерфейса (в данном случае Dog является целевым интерфейсом), чем просто переводить вызовы. Адаптация удаленного интерфейса к другому интерфейсу - еще один пример, когда свойства могут изменяться на основе данных бэкэнд, вы не хотите копировать атрибуты, потому что это обеспечило бы «моментальный снимок», а не «текущее» значение. –