На самом деле, согласно концепции инфраструктуры MVC, рекомендуется создать другой класс для доступа к базе данных, отдельный класс для логики и отдельный класс для ваших представлений.
У вас все хорошо, если вы пишете отдельный класс для доступа к базе данных при условии, что он не содержит никакой логики.
В Agile Development есть термин, называемый уровнями инкапсуляции базы данных.
Уровень инкапсуляции базы данных скрывает детали реализации вашей базы данных, включая их физические схемы, от вашего бизнес-кода. По сути, этот уровень предоставляет вашим бизнес-объектам сервисы хранения данных - возможность считывать данные, записывать данные и удалять данные из - источников данных. В идеале ваши бизнес-объекты не должны ничего знать о том, как они сохраняются, это просто происходит. Слои инкапсуляции базы данных не являются волшебством и не являются академическими теориями; Уровни инкапсуляции базы данных широко используются как в больших, так и в небольших приложениях, а также в простых и сложных приложениях. Уровни инкапсуляции базы данных являются важной техникой, о которой должен знать и быть готовым каждый разработчик гибкого программного обеспечения.
Эффективный уровень инкапсуляции базы данных обеспечит несколько преимуществ:
-> Это уменьшает связь между вашей объектной схемой и вашей схемой данных, увеличивая вашу способность развивать любую из них.
-> Он реализует весь код, связанный с базой данных, в одном месте.
-> Упрощает работу программистов приложений.
-> Это позволяет разработчикам приложений сосредоточиться на бизнес-проблемах, а Agile DBA могут сосредоточиться на базе данных.
-> Это дает вам общее место для реализации бизнес-правил и логики, ориентированных на данные.
-> Он использует преимущества определенных функций базы данных, повышая производительность приложений.
Надеюсь, это поможет.