Один ДАО на поток или ориентированный на многопотоковое исполнение ДАО?

Я задаюсь вопросом, существует ли утвержденная практика в многопоточном приложении. Если я имею один ДАО на поток или просто делаю один ДАО ориентированным на многопотоковое исполнение одиночным элементом.

5
задан pondermatic 4 January 2010 в 17:57
поделиться

2 ответа

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

Если у вас нет масштабируемого доступа к данным, ваш провайдер не поддерживает несколько потоков на процесс, или вам просто не нужна масштабируемость в этот момент, использование одноэлементного подхода с соответствующей синхронизацией проще и проще в реализации.

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

.
4
ответ дан 15 December 2019 в 01:03
поделиться

Используйте подход, который лучше всего подходит для архитектуры вашего приложения, если только:

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

2) Ваши объекты поддерживают мутирующее состояние, как в Active Record pattern. (Неизменяемое состояние конфигурации DAO, как и пороги таймаута, не учитывается.)

.
0
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: