oop — Лучшая практика создания объекта DAL в модели MVC, реализованной в переполнении стека

Я изучаю популярный MVC и пытаюсь реализовать его на PHP. Я проектирую фреймворк с чистым способом ООП (хотя я не эксперт в способности ООП PHP. У меня есть только умеренные знания об этом). Пример реализации этого каркаса показан на следующем рисунке. введите описание изображения здесь

В этой структуре я добавил уровень доступа к данным, DAL (класс для работы с соединением, выполняя запрос и транспортировку в базу данных и из нее), чтобы абстрагировать физическую базу данных от остальной части системы для легкого изменения источника данных. Если система привязана только к одной базе данных одного конкретного типа, ожидается, что этот уровень будет представлен в системе с использованием только одного объекта с одним подключением к базе данных. И этот объект будет зависимым для всех объектов Data Mapper (т.е. User Mapper, Product Mapper).

Я ищу ваши комментарии о том, где можно инициировать объект DAL в системе. Я могу создать объект во фронт-контроллере (index.php) и перенести весь путь до объектов Data Mapper. Но это анти-шаблон в соответствии с Вот а также Вот. Даже по той же причине мы не можем инициировать объект DAL на фабриках (фабрики могут быть разделены на несколько классов для обработки сложностей согласно Чистый код подход ). Я не могу использовать Синглтон, поскольку это также создаст много проблем в соответствии с этот. Итак, по вашему мнению, каков наилучший способ и место, где я могу инициировать этот объект и передать его объектам Data Mapper?

Н.Б .: Я игнорирую View Logic здесь, так как мое беспокойство не имеет никакого отношения к Views.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]