Каковы слабые стороны использования неизменяемости + модели Actor для параллельного программирования?

При создании большого многопоточного приложения для индустрии финансовых услуг я использовал неизменяемые классы и модель Actor для рабочего процесса везде, где только мог. Я вполне доволен результатом. Он использует достаточно много места в куче (это на Java, кстати), но GC JVM довольно хорошо работает с короткоживущими неизменяемыми классами.

Мне просто интересно, есть ли какие-нибудь минусы в использовании такого паттерна в будущем? При отладке кода товарищей по команде я часто обнаруживаю, что так или иначе рекомендую этот паттерн. Думаю, когда у человека есть молоток, все выглядит как гвоздь. Итак, вопрос в том, когда этот шаблон (парадигма?) будет работать плохо?

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

15
задан user992592 13 October 2011 в 02:44
поделиться