Разработка и внедрение DAO

115
6

Например, у меня есть много таблиц, такие как people car house и так далее, я хочу знать, хорошую практику для общего дизайна DAO.

В этом случае у people есть cars и houses. car и house имеют свой собственный идентификатор, возможно, значение auto_increment int. и у них также есть внешний ключ userId который является PK user.

На первом этапе я GenericDao для предоставления базовой функции CRUD для всех таблиц.

А потом?

Мне нужно найти все автомобили для пользователя A, поэтому мне нужен CarDao с функцией findAllCarsForUser(int userid), которая также может иметь findCarsByName(String name) и findCarsByNameForUser(String name, int userid) и так далее. Для House необходим тот же HouseDao. Если у людей есть другие вещи, у каждого должен быть ObjectXXXDao.

Но для верхнего слоя, если бы XXXDao подвергся воздействию?

Я думаю, что этого не должно быть, поэтому каждый DAO имеет завершенный класс Service, такой как CarService HouseService и так далее. Но для функций в этом классе сервиса может быть только оператор return XXXDao.findCarsByNameForUser(). ничего не добавляется в класс обслуживания.

Или какую функцию следует добавить на этот уровень XXXservice?

И если есть требования присоединиться к CarHouseDao Car и House, возможно, необходимы CarHouseDao и CarHouseService.

Я хочу знать, это хороший дизайн для общего DAO? Если нет, есть ли хорошие советы или примеры?

спросил(а) 2015-08-18T15:31:00+03:00 4 года, 11 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема