RoR разработчики впитывают active record с молоком и редко задумываются каким еще может быть персистенс их моделей, какими ограничениями обладает active record и при каких условиях стоит взглянуть на альтернативные паттерны.
Кто-то наоборот погнавшись за модой и наслушавшись умных людей решающих сложные задачи, обрекает себя на оверинжениринг и забивает гвозди шуруповепртом.
Цель данной встречи обсудить патерны сохранения модельного слоя и границы их применения, а также существующие реализации. Это должно помочь более сознательно принимать архитектурные решения
Гвозди нужно забивать молотком, а саморезы закручивать отверткой. Это кажется очевидным, но не для software проектов :)
Важные параметры проекта при принятии решения:
- Domain complexity
- обсуждаем сам паттерн,
- его реализации (ActiveRecord, Sequel, DataMapper),
- сильные и слабые стороны
- когда его достаточно, и когда стоит задуматься
Fowler (P of EAA): если пара десятков классов близких к структуре базы данных то Active Record
-
паттерн и ключевые концепции
-
когда вам точно нужен datamapper, а когда хватит и AR?
-
ROM - реализация datamapper для ruby, чего ожидать
-
Зачем нам нужны PORO?
-
Преобразования типов
-
Агрегаты в DDD и документные базы данных
-
Postgresql как документная база данных (hstore, json)