Anton
+
SarcasmIO
по сравнению с той же доктриной, которые эти вещи разделяет
Anton
Вот мой вопрос.
SarcasmIO
на то и извечный холливар AR vs DM
Maksim (Ellrion)
ну вот AR и ругают за нарушение SRP
Срать на срп. Учитывая удобство
Anton
Заключался в том, как построить приложение так, чтобы не нарушались SOLID.
SarcasmIO
так и строить
Anton
Куда вынести бизнес-логику?
Anton
Использовать репозитории или нет?
Anton
Типа это мне никогда не понадобится.
Anton
Но везде читаю о том, что код должен быть абстрактен
Anton
до предела
SarcasmIO
использовать репозитории или нет, нужно давать ответ основываясь на конкретном случае
Anton
Это то что нужно! Спасибо!
SarcasmIO
ну я к тому что это не серебренная пуля, если бы было так, все бы юзали исключительно их, но есть кейсы когда они нужны и когда не нужны
Maksim (Ellrion)
В качестве вью модел советую презенторы)
https://gist.github.com/Ellrion/02ca1afe1ea45f1177a47260dac5621d
Anton
Но чтобы понять, где что нужно, нужно завалить пару-тройку проектов.
Anton
Потом ctrl + a -> delete
Anton
И написать их заного.
Anton
Мне помогает :D
Maksim (Ellrion)
Anton
Я из презентеров вызываю сервис классы с бизнес логикой, которые вызывают соотвествующие репозитории, получают данные, работают с ними, возвращают в презентер и я его передаю во view. Так получается?
Maksim (Ellrion)
Я из презентеров вызываю сервис классы с бизнес логикой, которые вызывают соотвествующие репозитории, получают данные, работают с ними, возвращают в презентер и я его передаю во view. Так получается?
Не не. Бизнес логику реализуют сервис классы. В случае когда в моделях бл слишком много или когда она затрагивает не одну модель. Презенторы это паттерн декоратор для выноса логи отображения модели из самой модели.
Anton
Как это связывается ?
Anton
Кто что откуда вызывает
Anton
Чтобы достать данные. Обработать. Отобразить.
Maksim (Ellrion)
Di
Anton
Пользуюсь
Anton
В контролере, например, получаю так свой репозиторий через конструктор.
Maksim (Ellrion)
В контролере, например, получаю так свой репозиторий через конструктор.
В ларе удобно инжектить зависимости в метод контроллера. Часто удобнее чем в конструктор
Artem
Ребят помогите составить запрос(ы). Есть товары(у них заполнено значения количества для автозакупа, сколько осталось в наличии и цена). У тех у кого сколько осталось в наличии не равно значению для автозакупа нужно отправить в массив. При этом есть бюджет. Превышать его нельзя
Anton
Ещё у меня 1 вопрос. Вот я в сервис контейнере определил несколько классов и сделал им общий тэг. Эти классы у меня парсят инфу с разных сайтов и в одном из методов возвращают сущность (все одну и туже), а также реализуют 1 интерфейс. Потом сделал класс агрегатор, в котором по тэгу достаю все свои парсеры и в каждом вызываю нужный мне метод, возвращающий сущность, которую сохраняю в бд. Нормально?
Egor
Если у тебя используются методы интерфейса в агрегаторе - то да, это типичный пример применения тегов. В доке по ларавелю похожий пример с подкастами
Anonymous
Ребят, нужен человек написать простейший функционал сайта. В лс .
𝙰𝚛𝚝𝚎𝚖
Всем привет! Ищем разработчиков, вакансия: https://vc.ru/33449-senior-php-razrabotchik
Джамиль
Хоть бы вилку зп предложили
Andrey
Часто бывает что зарплата серая и вилку на сайте не указывают именно по этой причине.
𝙰𝚛𝚝𝚎𝚖
Зарплата белая, поскольку сеньоры тоже разные бывают, поэтому не особо имеет смысл указать 120-200. Хороший сеньор 150. Сеньор с крупными проектами и большим опытом и хайлоадом соответственно 200.
𝙰𝚛𝚝𝚎𝚖
Если есть ИП - вообще замечательно 🙂 У нас ООО.
Andrey
Работа только c бэкендом. Никакого HTML, CSS, JavaScript писать не нужно. я аж прослезился
𝙰𝚛𝚝𝚎𝚖
Да, даже в блейды не часто: иногда рассылки натянуть надо, и рассылать по расписаниям(на след. день, если не отреагировал, то через три дня и тд). А 90% работа непосредственно с бэком и выдавать Апи))
𝙰𝚛𝚝𝚎𝚖
Прекратите троллить😀
Andrey
Ни в коем случае. Я искренне. Не каждый так умеет.
Олег
))
Олег
кстати иконка у меня порезана )
Олег
Агент! секретный. ты раскрыт!
𝙰𝚛𝚝𝚎𝚖
Логотип порезан? О_о
Andrey
О нет! Мы все умрем
Олег
О нет! Мы все умрем
сказал бы что тебя теперь в сибирь сошлют.. ноо... )
Andrey
сказал бы что тебя теперь в сибирь сошлют.. ноо... )
У тебя устаревшие сведения. А чего на вакансию не откликнешься, ты же умеешь?
Andrey
И зп у вас все еще никакая
Олег
а хз. у меня особо крупных проектов за спиной не числится..
Олег
+ как я понял не удаленка же
Andrey
Ладно, если я щас твои крупные проекты начну перчислять - nda. Сам думай)
Andrey
Логотип порезан? О_о
http://take.ms/B6Weg Если ширина маленькая - слева все обрезается. Влево скрола нет. mac firefox
Олег
если не маленькая тоже
𝙰𝚛𝚝𝚎𝚖
Понял, спасибо
Valera
Нужно сделать в Laravel что-то типа модели, со своими данными и статическими функциями внутри, но без привзяки к БД Что для этого лучше использовать?
SarcasmIO
DDD ?
вообще не про это
Valera
Сделать что-то вроде Report::getAll();
Valera
Report::myFunc(); и пр. вещи Которые будут в разных контроллерах использоваться
Maksim (Ellrion)
Разве тогда модель не получается анемичной?
ну там же написано когда выносить в сервис классы (работа с несколькими моделями) вынос куска логики для разгрузки очень жирной модели (ну во втором варианте можно и в трейт вынести обозвав модным словом концерн). Ну и плюс с АР слово анемичная не очень применима. Да и в DDD там есть споры антипаттерн ли это.
Vitaly
Ну когда работа с несколькими моделями, то понятно, что тут сервис напрашивается, но он все равно дёргает какие-то методы логики модели. АР может просто сама себя персистить
Andrey
Это обычный сервис
Andrey
Непонятно, что тебе не нравится
Vitaly
Вроде model.ban; model.save , лучше, чем modelBanService.banModel(model) (я с телефона)
Andrey
Только banModel
Vitaly
Ну я прочитал это сообщение, как вынос всей логики в сервисы
Andrey
А modelService.ban($model)
Andrey
Почему всей-то? Есть логика которая относитя к модели. Она остается в модели