В последнее время в сообществе Ruby on Rails много говорят о декораторах и докладчиках.
В чем принципиальное различие между ними?Если есть, какие подсказки говорят мне, какой из них использовать над другим?Или, возможно, использовать два вместе?
Декоратор - это скорее «давайте добавим немного функциональности к этой сущности».Презентатор - это скорее «построим мост между моделью / бэкендом и представлением».Шаблон презентатора имеет несколько интерпретаций.
Декораторы общего / общего назначения.Докладчики имеют более узкий круг обязанностей / использования.Декораторы используются во всех доменах, докладчики почти всегда связаны с функциональностью, подобной представлению.
Я предлагаю вам проверить это - Экспонат vs Presenter .
Декоратор - это шаблон проектирования, который используется для расширения функциональности определенного объекта путем его обертывания, не затрагивая другие экземпляры.этого объекта.В общем, шаблон декоратора является примером принципа открытия / закрытия (класс закрыт для изменений, но доступен для расширений).
Шаблоны экспоната и презентатора являются своего родашаблона декоратора.