Я посмотрел на презентации Джея Филдса по шаблону Rails Presenter. Я нашел его примеры полезными, на самом деле я не смотрел на другие работы третьих лиц, особенно на тему Conductors.
Для меня преимущество состоит в том, чтобы отделить модели, то есть полную изоляцию от контроллеров и других моделей. Я думаю, что это лучший способ справиться с бизнес-логикой, так что контроллер остается тонким и ничего не знает о базовом хранилище данных и его структуре. Тем не менее, оригинальный Rails Presenter Pattern имел одну проблему, в которой он содержался. Объект презентатора - это просто то, что для представления данных он должен находиться между контроллерами и представлениями, поэтому проводники должны представлять дополнительный интерес, поскольку они располагаются между моделями и контроллерами.
Существуют также некоторые альтернативы логическим и физическим моделям, упомянутым в книге Enterprise Rails и полномасштабном проектировании, управляемом доменом.
Конечно, текущее решение в мире рельсов - это создание методов для моделей, которые манипулируют связанными моделями, вставляя в них все данные для входа в бизнес.
С DDD я видел несколько слайдов и предложений по рельсам, но я не выглядел полноценной реализацией, надеюсь, жемчужина с генераторами станет доступна в не столь отдаленном будущем. DDD будет полезной опцией для сложных проектов, причем не только это, но и как альтернативный метод проектирования и рельсов, который должен быть гибким, позволяя добавлять код и модульное расширение, поэтому я не вижу, чтобы дополнительные слои и типы классов добавлялись в смесь вопрос. Пуристы Rails могут ненавидеть эту идею, но им не нужно ее использовать.