Ответы пользователя по тегу Проектирование программного обеспечения
  • Куда писать sql запросы при реализации репозиториев (DDD)?

    Использование репозиториев является альтернативой ORM, то есть в этом случае модель Category не должна иметь методов получения или сохранения себя в БД.
    Ваш пример будет выглядеть следующим образом:
    class CategoryRepository
    {
        /*
         * @return Category[]
        */
        public function getAllCategories()
        {
            // Извлекаем категории из БД и создаем массив моделей Category
            return $categories;
        }
    }

    Соответственно для сохранения категории ваш сервис должен иметь метод CategoryService::save(), в котором будут выполняться необходимые проверки и подготовка данных, а затем вызываться метод репозитория CategoryRepository::save(Category $category).
    Ответ написан
    Комментировать