Я довольно новичок в ColdFusion ORM, и у меня есть некоторые вопросы, на которых я надеялся получить помощь.Использование ORM со строкой MVC Framework
Я работаю над фреймворком, который использует довольно стандартную и строгую архитектуру MVC. Эта структура также имеет «сервисный уровень», который находится между контроллером и моделью. Уровень сервиса обрабатывает всю бизнес-логику и проверку.
Стандартный процесс CRUD выглядит следующим образом:
пользователь отправляет форму через представление -> вид представляет на контроллер -> контроллер посылает на уровне услуг для обработки -> уровень службы может выполнять любая бизнес-логика и проверка на запрос -> уровень сервиса затем отправляет данные модели -> модель запускает транзакцию с EntityNew() и EntitySave() -> модель, а затем отправляет обратно ответ с идентификатором обратно на уровень обслуживания -> уровень сервиса применяет некоторую логику и создает сообщение для пользователя -> уровень обслуживания, чем отправляет ответное сообщение контроллеру -> контроллер затем отправляет его в представление -> представление затем отображает его пользователю.
Этот процесс работает хорошо, и я доволен разделением ролей. Он сохраняет всю логику от представления, контроллера и модели и изолирует его на уровне обслуживания.
Мой вопрос в том, когда мне нужно связаться с базой данных на уровне сервиса для таких вещей, как проверка того, является ли имя пользователя уникальным для проверки, как я должен это делать? Сейчас я просто запускаю EntityLoad() прямо на уровне сервиса. Это, по-видимому, технически идет вокруг уровня модели и напрямую взаимодействует с базой данных посредством ORM. Будет ли это рассматриваться как нарушение структуры MVC.
Еще одна вещь, о которой я не уверен, - это то, что мне нужно заполнить выпадающее меню в представлении из базы данных. Я запускаю EntityLoad() прямо в представлении, чтобы получить данные для раскрывающегося списка. Опять же, это технически идет вокруг модели для связи с базой данных через ORM.
Я думаю, я просто смущен о лучших практиках использования ORM в строгой структуре MVC. Должен ли я иметь отдельные методы в своих файлах моделей для каждого взаимодействия с базой данных, а затем просто иметь представление или уровень сервиса для общения с этими методами в модели? Организация всего, кажется, потеряна, когда я пытаюсь так думать об этом.
Просто пытаюсь обдумать вокруг этого.
Любая помощь по этому вопросу будет принята с благодарностью.
Заранее спасибо.
спасибо за помощь. Я собираюсь переработать способ доступа к базе данных. еще раз спасибо – Sequenzia