Fala-se muito ultimamente na comunidade Ruby on Rails sobre decoradores e apresentadores.
Qual é a diferença essencial entre os dois? Se houver, quais são as pistas que me dizem qual usar em vez da outra? Ou talvez para usar os dois em conjunto?
Fala-se muito ultimamente na comunidade Ruby on Rails sobre decoradores e apresentadores.
Qual é a diferença essencial entre os dois? Se houver, quais são as pistas que me dizem qual usar em vez da outra? Ou talvez para usar os dois em conjunto?
Respostas:
Um decorador é mais um "vamos adicionar algumas funcionalidades a esta entidade". Um apresentador é mais um "vamos construir uma ponte entre o modelo / back-end e a visualização". O padrão do apresentador tem várias interpretações.
Decoradores são genéricos / de uso geral. Os apresentadores têm uma gama mais restrita de responsabilidades / usos. Decoradores são usados em vários domínios, os apresentadores quase sempre estão relacionados à funcionalidade de visualização.
Eu sugiro que você verifique isto - Exposição vs Apresentador .
Decorator é um padrão de design usado para estender a funcionalidade de um objeto específico envolvendo-o, sem afetar outras instâncias desse objeto. Em geral, o padrão decorator é um exemplo do princípio de abrir / fechar (a classe é fechada para modificações, mas disponível para extensões).
Os padrões de exibição e de apresentador são uma espécie de padrão do decorador.