ORM и пакетные операции
От: dmitry_npi Россия  
Дата: 06.02.12 13:07
Оценка:
Здравствуйте.
Суть такова: допустим пишется проект в стиле DDD. Есть класс MyObject, с помощью ОРМ он отображается на таблицу, и у этого класса есть, скажем, какое-то вычисляемое свойство, которое обновляется при вызове метода.
А этот метод таков, что он обращается к БД.

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

Можно это оптимизировать и внешним кодом извлечь целую табличку значений и из нее уже обновить значения свойств у всего списка объектов.

Вопрос — как совместить хорошую производительность и хороший дизайн. С точки зрения дизайна, мне кажется, что данный класс должен иметь у себя такой метод, там ему самое место. Но с другой стороны, если каждый экземпляр полезет в базу, будут тормоза. Как быть? Есть какой-то типовой прием?
Атмосферная музыка — www.aventuel.net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.