Добрый день! Есть проект на Go, проект разрастается, и стало неудобно когда все файлы в IDE в одном длинном списке. Хочется разбить на папки.
А, насколько я понимаю, это также подразумевает разбивку на пакеты (или нет?).
Сейчас есть main, содержащий глобальную структуру Application, в которой хранятся всякие общие для всего проекта сущности
Объект соединения с БД
Объект с разными настройками программы, читаемыми из конфига
Объект соединения с удаленным сервисом, предоставляющим данные по API
Объект собственного веб-сервера
Объект прокси
и т.п.
Есть группа файлов, которая занимается только работой с БД (выполняет запросы и возвращает массивы с результатами)
Есть группа файлов, которая занимается запросами к удаленному серверу с помощью его API и складыванием результатов в БД
Есть группа файлов, которая занимается формированием собственного веб-интерфейса; она также использует объект БД
Есть файлы, содержащие общие вспомогательные функции
Хочется все это разделить. Но к примеру база должна быть доступна всем "пакетам". Передавать ее каждый раз как аргумент?