Есть ли примеры приложений Rails, где бизнес-логика хранится в отдельных классах, чем ActiveRecord? - PullRequest
14 голосов
/ 22 ноября 2011

В сообществе Ruby недавно произошел всплеск публикаций в блогах, твитов и комментариев о преимуществах использования более совершенного дизайна ОО и, в частности, отделения бизнес-логики от логики постоянства.Особенно для больших приложений, я считаю это отличным советом.

Мне интересно найти полный пример приложения на Rails, в котором бизнес-логика полностью отделена от ORM (ActiveRecord или иным образом).В частности, мне интересно узнать, как можно обрабатывать ограничения БД, проверку бизнес-правил, очистку параметров, классы обслуживания и т. Д.

Кто-нибудь знает такое приложение с открытым исходным кодом, как это?

Ответы [ 2 ]

4 голосов
/ 22 ноября 2011

Я знаком с Джеффом Казимиром (@ j3).Вот его презентация от Railsconf 2011. Он также создал гем под названием draper , который использует некоторые из этих идей.Райан Бейтс (Ryan Bates) сделал отливку рельсов , используя ее, надеюсь, что это даст вам некоторые идеи.

1 голос
/ 01 декабря 2011

Насколько я знаю, железнодорожники подходят к модельному бизнесу совсем по-другому. Они более или менее осознанно управляют дизайном, ориентированным на данные. Это может показаться противоречивым и плохим, если мы будем цепляться, например, за ориентация объекта.

Но, как говорят христиане: «свобода исходит от ограничений».

Если мы можем выразить наш домен в CRUD-стиле, мы значительно уменьшим техническую сложность, получим REST бесплатно и т. Д.

Этот пост в блоге объясняет это лучше, чем я (не пропустите презентация DHH )

А вот некоторые сведения от Скотта Белвара по этой теме.


Но если вы настаиваете и хотите немного поэкспериментировать, вы можете попробовать data-mapper .
К сожалению, еще не пробовал, так что - не могу комментировать.

...