2011-05-12 2 views
0


Я использую базу данных berkeley. Вы должны открыть среду (это всего лишь несколько файлов для поддержки блокировки и т. Д.) Один раз, а затем использовать эту среду для открытия файлов базы данных ...
Проблема заключается в том, что среда должна быть создана один раз ..JAVA Инициализация базы данных

Имея globals считается плохой идеей ...

Какова наилучшая практика, когда она была создана только один раз?

Должен ли я использовать шаблон Singleton (реализация перечисления) или статический или другое решение?

ответ

1

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

В идеале вы хотите использовать инъекцию зависимостей, чтобы достичь этого самым аккуратным способом, например, с помощью Spring framework.

+0

Но как этого добиться в этом случае ?? – GorillaApe

+0

Это довольно большая тема, чтобы полностью ответить на этот вопрос. Взгляните на весну и на такие статьи, как: http://www.vogella.de/articles/SpringDependencyInjection/article.html и http://www.theserverside.com/news/1364527/Introduction-to-the-Spring- Framework –

+0

Я не хочу использовать Spring ... – GorillaApe

1

Синглтон-образец лучше всего.

Потому что даже по какой-либо причине, если окружающая среда или любой объект становится нулевым, мы можем проверить в getInstance() для null.

И если это null, мы можем создать его. Поэтому каждый раз будет только один объект.

Смежные вопросы