Синглтон, реестр или файлы конфигурации для обработчика БД - PullRequest
2 голосов
/ 20 июля 2010

Хорошо, я собираюсь сделать это действительно простым. Какой метод лучше всего подходит для подобных обработчиков БД в приложении: Singleton, шаблон реестра, класс статических конфигураций или файлы конфигурации.

Я читал об этом, и, похоже, об этом много противоречивых идей.

Я понимаю, что не будет единого решения для всех, но в целом, какова лучшая практика для этого типа проблемы.

1 Ответ

1 голос
/ 20 июля 2010

Никогда не используйте Singleton, это всего лишь громкая глобальная переменная, инициализация которой связана с временем жизни вашего процесса , а не ресурсом, которым он управляет.

То, что вы хотите - это объектвнедряется во все зависящие от него области, другими словами, шаблон, который вы ищете, - это внедрение зависимостей.

Для самых простых приложений просто используйте параметры командной строки и объект конфигурации.

Для чуть более сложных приложений разрешите создание объекта конфигурации по умолчанию из файла конфигурации, а затем измените его параметрами командной строки.

Для умеренно более сложных приложений интегрируйте с вашей платформой / языком /Собственное средство реестра ОС для предоставления значений по умолчанию.

Для производственных приложений используйте контейнер IoC-DI и создайте объекты config / db / etc для внешних классов ваших приложений и добавьте их во время выполнения.

Ключ заключается в том, чтобы избежать наличия статического процесса-объекта конфигурации, так как это будет мешать тестированиюg, программный перезапуск и усложнение перехода на более гибкие подходы к настройке.

...