Это широкий вопрос, и я не ценю таких коротких / тупых ответов, как: "О, это образцовая работа, этот квест задерживается (точка)"
ПРОБЛЕМА Там, где я работаю с людьми, я создал систему, которая в течение 2 лет управляла процессом производства по требованию в максимально упрощенном и широком смысле, включая продажу, покупку, сборку. Система написана на Ruby На рельсах
Приложение менялось много раз, и в результате возникает беспорядок в обратных вызовах (некоторые из них вызываются несколько раз), более 200 моделей и жирных контроллеров: Всего плохих .
ВОПРОС - есть ли гем или шаблон, предназначенный для обработки логики больших приложений Rails? Логика могла бы быть в состоянии полностью общаться с моделями (единственной заботой которых была бы обработка и проверка формата данных)
То, что я ОЖИДАЮ , заключается в том, чтобы уменьшить сложность от различных контроллеров и трудно отслеживать обратные вызовы в файлы, отвечающие за обработку логики бизнес-операций. В некоторых случаях необходимо дождаться ответа, в других достаточно проверки только входных данных, и будет происходить процесс bg.
т
-> Продать некоторые продукты (нужно дождаться окончания операции)
1. Установите вид, чтобы получить входные данные продуктов
2. Контроллер получает список продуктов, введенный сотрудником, и вызывает логику
Logic::ExecuteWithResponse('sell', 'products', :prods => @product_list_with_qtt, :when => @date, :employee => current_user() )
Эта логика будет обрабатывать заказ на покупку, заказ на сборку, расписание машин, резервирование склада и др.
Имейте в виду, что обратного вызова в SalesOrder недостаточно, поскольку он зависит от того, где он вызывается (для этого нет поля), зависит от класса пользователя, среди других вещей, не видимых для модели, или в некоторых случаях это будет Обработка модели займет много времени.