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

Коллеги, подскажите, пожалуйста, где правильно располагать абстракцию с которой работают

компоненты или бизнес сервисы модуля, соблюдая инверсию зависимостей? Вот пример абстракции стейт менеджера. Пытаюсь разобраться, где архитектурно правильно ее хранить. https://github.com/evoytenkoapps/angular-best-practices/blob/master/examples/src/app/redux-store-ngxs/_services/facade/facade/animal.facade.ts

26 ответов

22 просмотра

Думаю ближе к самому классу/коду который хотите спрятать в фасаде

Евгений-Гений Автор вопроса
Юра 🪐
Думаю ближе к самому классу/коду который хотите сп...

соблюдая dip, нужно наоборот, нужно хранить ближе к тому кто "выше" чем стора

Евгений-Гений Автор вопроса
Юра 🪐
И кто выше тогда?

ну точно выше сервис с бизнес логикой. но у меня все логика в компоненте, и в моем случае, наверное компонент выше сторы.

Евгений Гений
ну точно выше сервис с бизнес логикой. но у меня в...

Я вот думаю нужно ли для "фасад" класса делать отдельный класс? Почему бы сервису не быть фасадом?

Евгений Гений
не понял?

Видел где-то на просторах интернета, что делали обычный сервис, и к нему еще фасад

Евгений Гений
ну точно выше сервис с бизнес логикой. но у меня в...

А если ты делаешь либу в которой ты експортишь стор. Не будешь создавать фасад где ближе, а наверное в самой либе

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

Евгений-Гений Автор вопроса
Maxim Afanasev
Я бы в корень фича модуля положил интерфейс/абстра...

Во! тоесть примерно так? ./feature feature.module.ts feature.facade.ts ?

Maxim Afanasev
Я бы в корень фича модуля положил интерфейс/абстра...

А как решать проблему когда стор надо перенести в либу и шарить между апками, как получить доступ к интерфейсу который в фиче?

Евгений Гений
Во! тоесть примерно так? ./feature featur...

Кстати, если упарываться по solid, то надо еще interface segregation. Т.е. разделить интерфейс фасада на несколько и потом в фасаде реализовать их все. Но в Ангуляре слишком бойлерплейтно будет, т.к. нельзя по интерфейсам инжектить

Евгений-Гений Автор вопроса
Maxim Afanasev
Кстати, если упарываться по solid, то надо еще int...

это если в фасаде будет куча методов? например больше 10 ?

Евгений-Гений Автор вопроса
Юра 🪐
А как решать проблему когда стор надо перенести в ...

так по идее импорт и решит эту проблему.

Евгений Гений
так по идее импорт и решит эту проблему.

Это если в либе хранить все что связано с фичей

Юра 🪐
А как решать проблему когда стор надо перенести в ...

Я думаю, выделять стор в отдельную либу - не очень хорошая идея, лучше делить по фичам

Евгений-Гений Автор вопроса
Maxim Afanasev
Я думаю, выделять стор в отдельную либу - не очень...

у меня сейчас так, но вот недавно задался вопросом, что будет если вынести фичу в лейзи. как реализация сторы загрузится в стейт менеджер из лейзи, у меня сейчас возможно отключен лейзи, поэтому проблем нет. не подскажите из вашего опыта?

Евгений Гений
у меня сейчас так, но вот недавно задался вопросом...

Нормально работает, так и делаем, фича-стор в лейзи лежит

Евгений-Гений Автор вопроса
Maxim Afanasev
Нормально работает, так и делаем, фича-стор в лейз...

а у вас какой стейт менеджер или менеджеры?

Евгений Гений
это если в фасаде будет куча методов? например бол...

Тут дело не в количестве методов, а в количестве потребителей, т.е. по сути, компонентов. Если есть несколько независимых друг от друга модулей с компонентами, которые юзают один фасад - то можно каждому сделать свой интерфейс

Евгений-Гений Автор вопроса
Maxim Afanasev
Тут дело не в количестве методов, а в количестве п...

правильно я понимаю, что в этом случае, с точки зрения компонента, мы соблюдаем SRP. А с точки зрения фасада, зачем так делать? Не проще сделать N фасадов, под каждый компонент?

Евгений Гений
правильно я понимаю, что в этом случае, с точки зр...

Можно и так. Но, в принципе, реализация может быть одна, это не имеет значения. Важно, что интерфейсы поделены

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта