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

Господа а напомните мне плиз не раз тема поднималась почему

же плохо service в service иметь?

9 ответов

8 просмотров

Это вообще как ?

Dmitry-Zakharov Автор вопроса
Andrey Sergeevich 🌱
Это вообще как ?

Кароче не помню кто то не раз говорил что фиговая тема инжектить в сервис ещё один сервис

Это не плохо пока нет https://refactoring.guru/ru/smells/feature-envy Вот пример https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=recognizingSmells&path=recognizingSmells/featureEnvy/featureEnvyExample&devLanguage=Java

👍

Dmitry Zakharov
Кароче не помню кто то не раз говорил что фиговая ...

Все равно сложный сервис должен какую то часть работы делегировать другому сервису, а не отвечать за все и иметь слабо связанный функционал

Привет. Речь шла о том, что фигово инжектить сервисы друг в друга, если они работают на одном и том же архитектурном слое (по дядебобской классификации). Если ты инжектишь хттпклиент в свой сервис-фасад, то в этом нет ничего опасного, потому что в хттпклиент ты свой сервис инжектить не станешь. Но если у тебя 2 или более сервиса-фасада и они, внезапно, зачем-то провайдят один другого, то очень высокий риск создать циклическую зависимость. Они могут перекрестно инжектить друг друга, их обоих может вызывать один компонент одновременно, они могут вызываться в компонентах с вложенностью, где один сервис вызывает верхний компонент, а второй - нижний... Короче вариантов выстрела в ногу масса и контролировать это очень сложно. Это основной момент. Менее явный, но по моему мнению более важный момент заключается в том, что необходимость инжектить один сервис в другой - это свидетельство плохой архитектуры, в нормальной ничего подобного делать не требуется. На вопрос о том, "как что-то там сделать если не", обычно отвечаю что-нибудь типа "тыж программист, так придумай способ", наша работа заключается в выборе наиболее подходящего решения из множества возможных, как говорил кто-то из "отцов")

Алекс Духновский Duchnowski
Привет. Речь шла о том, что фигово инжектить серви...

Как быть если надо в сервис с апи методами заинжектить сервис авторизации чтобы понять например логин ис тру или нет. Такая практика много где используется и чем это плохо в качестве архитектуры ?

Andrey Sergeevich 🌱
Как быть если надо в сервис с апи методами заинжек...

Это зависит от архитектуры вашего проекта, но, скорее всего, у вас транспортные сервисы перемешаны с бизнес-логикой, отсюда и ваша проблема. Ответственность API-сервиса - взаимодействие с сервером, там не должно быть бизнес-логики и поэтому ему нет необходимости инжектить сервис авторизации.

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
32
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
а мы ещё не созрели до того, чтобы создать отдельный чатик про настройку редакторов?
Cheese Syrowiecki
16
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Всем привет! У меня почему-то по-разному отображается TListView в Debug и Release режимах (FireMonkey)! При запуске под Win приложения TListView заливается программо. в Debug ...
Александр COM
8
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
Парни, спасайте. RAD Studio 12 творит какую-то дичь. У меня есть метод (event), который вызывает другой метод, т.е. он состоит из 1-й строки вызова. Ставлю бряк на event, запу...
Eugene Krasnikov (ᴊɪɴ x)
3
окей, дело реально в org было. но что за мусор в конце?
Vi Chapmann
15
Карта сайта