Является ли ключевое слово «синхронизировано» в классическом корпоративном приложении подозрительным?

StackOverflow https://stackoverflow.com/questions/594190

Вопрос

Я говорю о классических корпоративных приложениях.Обычно размещается на каком-то сервере приложений или в контейнере.Ничего особенного, только сущности, сервисы, презентация/пользовательский интерфейс и реляционное хранилище.

Всякий раз, когда я вижу synchronized Ключевое слово (либо в методах, либо в блоках) в таком приложении вызывает у меня большие подозрения.По моему мнению, это либо признак непонимания основных архитектурных концепций (например, то, что модель предметной области не используется несколькими клиентами), либо, что еще хуже, признак того, что архитектура на самом деле очень неудачна.

Вы разделяете мое мнение здесь?Или я совсем сбился с пути?Есть ли у вас случаи использования, когда синхронизация действительно необходима в классическом корпоративном приложении?

Это было полезно?

Решение

Я согласен с вами насчет кода бизнес-логики, но в корпоративном приложении у вас также есть технический код, и иногда вам нужна некоторая синхронизация для общего «технического» состояния.Для этого можно использовать ключевое слово Synchronized.(Вы также можете передавать атомарную переменную или использовать что-то вне вашего приложения, например последовательность БД, для обмена техническим состоянием...)

Если вы хотите создать последовательный номер счета без пробелов в последовательности, вам нужен способ поделиться некоторым состоянием и способ синхронизации...

Другие советы

Я согласен с вами.

Я считаю, что синхронизация важна при разработке потокобезопасных компонентов, но обычно в коде «бизнес-логики» она не требуется.

Введя общее состояние, вы можете повысить производительность, но уменьшите масштабируемость вашего приложения в будущем.

Если необходимо параллельное проектирование, оно может быть реализовано прозрачно для разработчика приложения, например, с использованием сервера приложений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top