169 похожих чатов

У меня учебная практика (junior): java/spring. в приложении практически

нет бизнес логики , по большей части инфраструктурная, сбор данных из различных источников по api, ui фильтры, визуализация данных в виде графиков, выгрузка в excel, csv, pdf , сохраняем и обновляем статистику по конкретной рекламной кампании ( JPA), стабильная часть: интерфейс "приложения|домена" (список кампаний/список рекламных площадок/рекламная площадка/статистика), концептуально сущности это отчеты(статистика), получается есть адаптеры к каждому внешнему api - это слой приложения ? каждый адаптер реализует интерфейс заданный на слое ("домена|?") ? все адаптеры должны соответствовать единому интерфейсу, итог: контроллер делегирует вызов (например: получить список рекламных площадок) -> @Service сервису[X], сервис[X] ->делегирует вызов -> адаптеру[Y] -> отдает DTO . вопросы: 1) нужно ли выделять слой домена, и куда поместить интерфейсы ? 2) нужны ли сервисы в таком случае или из контроллера можно вызывать методы конкретного адаптера 3) какие паттерны тут уместны, как правильно структуировать приложение ?

2 ответов

11 просмотров

2) сервис будет прослойкой между адаптером и контроллером что зачастую удобно. У тебя контроллер будет вызвать определенные методы которые будут делегировать адаптер Когда будет появляться бизнес логика в целом полезно Это чисто мое мнение джунчика

1) по идеи грамотно будет раскидать интерфейсы в слое домена, в целом будет удобнее дальнейшее писать

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

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта