«Правильный» способ абстрагирования доступа к данным с использованием объектно-ориентированных концепций - актуальная тема для многих людей. Иными словами, есть несколько способов сделать это, и не существует «одного правильного» способа.
Лучше всего работать самостоятельно, если вы серьезно обновляете существующее приложение. Это потому, что у вас есть куча кода, который уже зависит от базы данных, и у вас есть некоторые границы для необходимого рефакторинга. Он также учит вас абстрагированию кода, потому что большая часть рефакторинга включает в себя удаление (или уменьшение) дублирования кода. Как только вы сделаете это до конца, у вас будет гораздо лучшее представление о том, как должен работать слой модели данных. Или, по крайней мере, должно работать так, как вы программируете. И вы будете знать, что не следует делать в следующий раз, когда вы его построите. : -)
Если вы начинаете новую кодовую базу и не работали с фреймворком или объектным уровнем, но знаете, что вам нужно ее создать, то лучший совет, который я могу дать, - это желание создать его позже и реорганизовать код подойти, когда это произойдет. Да, это, вероятно, будет означать, что ваше приложение будет переписано на 90% несколько раз.
Написание слоя абстракции объекта затруднено, и в итоге вы получите плотный код, который достаточно оборонителен и не рискует. Но как только он заработает, вы также узнаете, как создать надежный код, потому что он, вероятно, будет отлажен довольно тщательно.