Как пишут на Ruby on Rails в 37 Signals
В этой серии статей описаны подходы к проектированию кодовой базы в 37 Signals.
Дальше будут ссылки про паттерн Recording и Delegated Type. Комбинация Delegated type + Concerns чем‑то близка к DCI(Data Сontext Interaction).
Delegated Type + Recording pattern позволяют реализовать:
— Трекинг изменений / версионирование без использования PaperTrail и прочих решений
— Soft deletion без acts_as_paranoid и прочих решений
— Тестирование без моков бд
https://www.youtube.com/watch?v=tmWlm0M6JSk&t=3309s про паттерн recording
https://www.youtube.com/watch?t=2308&v=7c‑fjvFGXP0&feature=youtu.be про паттерн recording
https://www.youtube.com/watch?v=5hN6OZDyQtk Тестирование. Версионирование вместо моков бд
https://www.youtube.com/watch?v=AoxoPfilKqE Подход к Soft Deletion
https://gorails.com/forum/recording‑pattern‑basecamp-3 обсуждение паттерна recording
https://github.com/trang‑stackup/basecamp-3-recording‑pattern пример кода
https://youtu.be/TZXj-LITY2E Delegated Types - Rails in Focus