Spring Объект области MVC, обрабатывающий Лучшую практику

UIButton *btn;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
5
задан Thomas Einwaller 6 July 2009 в 08:46
поделиться

3 ответа

Контроллер должен передать идентификатор на уровень службы, а затем вернуть все, что необходимо для отображения остальной части ответа HTTP.

Итак -

Map<String,Object> doGet (@RequestParam("id") int id) {
     return serviceLayer.getStuffByDomainObjectId(id);
}

Все остальное будет загрязнять веб-слой, который не должен заботиться о постоянстве. Вся цель уровня сервиса - получить объекты домена и сказать им, что нужно выполнять свою бизнес-логику. Итак, вызов базы данных должен находиться на уровне обслуживания как таковой -

public Map<String,Object> getStuffByDomainObjectId(int id) {
    DomainObject domainObject = dao.getDomainObjectById(id);
    domainObject.businessLogicMethod();
    return domainObject.map();
}
4
ответ дан 14 December 2019 в 04:45
поделиться

в моем проекте я использовал уровень обслуживания:

class ProductService {

    void removeById(long id);

}
2
ответ дан 14 December 2019 в 04:45
поделиться

Я думаю, это будет зависеть от того, является ли служба удаленной или локальной. Как правило, я стараюсь передавать идентификаторы, где это возможно, удаленным службам, но предпочитаю объекты для локальных.

Это объясняется тем, что это уменьшает сетевой трафик, отправляя только то, что абсолютно необходимо удаленным службам, и предотвращает множественные вызовы DAO для локальные службы (хотя при кэшировании Hibernate это может быть точкой отключения локальных служб).

2
ответ дан 14 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: