Теперь у меня есть несколько классов, которые работают с базой данных. Интересно, будет ли лучше иметь один (Data Access Layer, singleton) класс, который содержит методы CRUD, логику подключения к базе данных и т. Д.?
Да, вы могли бы использовать для этого синглтон, но почему бы вместо этого не использовать данные ядра?