Я говорю о классических корпоративных приложениях. Обычно размещается в каком-то приложении-сервере или контейнере. Ничего особенного, только сущности, сервисы, презентация / пользовательский интерфейс и реляционное хранилище.
Всякий раз, когда я вижу ключевое слово synchronized
(в методах или для блоков) в таком приложении, я становлюсь очень подозрительным.
На мой взгляд, это либо признак непонимания базовых архитектурных концепций (например, что модель предметной области не используется несколькими клиентами), либо, что еще хуже, признак того, что архитектура на самом деле очень испорчена.
Ты разделяешь мое мышление здесь? Или я совсем не в курсе?
Есть ли у вас случаи использования, когда синхронизация действительно необходима в классическом корпоративном приложении?