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

Привет. Вопрос от новичка) Хочу реализовать сайт отдельно фронт отдельно бэк. Вопрос

заключается в том как прописать зависимости в Solution?

Есть 4 проекта:
1. Front-end
2. API
3. Business Logic
4. Data Acess Layer

Насколько правильно это будет
Для Fron-End в зависимостях ток API ( или вообще нет зависимости у него )
У API зависимость FE BL
У BL зависимость API DL
У DL ток BL

30 ответов

36 просмотров

Если BL зависит от DL, а DL зависит от BL, то что получится?

Max- Автор вопроса
Andrew Shurunov
Если BL зависит от DL, а DL зависит от BL, то что ...

Ок, тогда BL от DL А DL просто как база данных

Max
Ок, тогда BL от DL А DL просто как база данных

Те же вопросы выше, у тебя там тоже циклические зависимости

Max- Автор вопроса
Andrew Shurunov
Те же вопросы выше, у тебя там тоже циклические за...

Тоесть если в одном прописываю зависимость то нет смысла писать в другом И получаю Front как Front API от FE и BL И BL от DL DL как база данных

Max- Автор вопроса
Andrew Shurunov
Не "нет смысла", а "не работает"

Ок И получаю Front как Front API от FE и BL И BL от DL DL как база данных

Max
Ок И получаю Front как Front API от FE и BL И BL ...

Если ты хочешь делать фронт отдельно от бэка, то почему у тебя у API зависимость от фронта?

Max- Автор вопроса
Max- Автор вопроса
Max- Автор вопроса
Oleg Safonov
Лучше чтоб dl от bl

А можно узнать почему такое решение лучше ?

Max
А можно узнать почему такое решение лучше ?

Чтоб бл ничего не знала про бд, а отвечала только бизнесовым требованиям и ограничениям

Oleg Safonov
Чтоб бл ничего не знала про бд, а отвечала только ...

И чтобы dl знал про бизнес требования? Раз у тебя dl зависит от bl

Max- Автор вопроса
Oleg Safonov
Чтоб бл ничего не знала про бд, а отвечала только ...

А в bl я передаю как экземпляр модельки какой-то а не саму модельку

Andrew Shurunov
И чтобы dl знал про бизнес требования? Раз у тебя ...

Нет, dl реализует интерфейсы которые лежат в bl,

Никак напрямую, через di

Oleg Safonov
Никак напрямую, через di

А как в DI попадет реализация из DL?

Andrew Shurunov
А как в DI попадет реализация из DL?

Регает какой нибудь composition root

Andrew Shurunov
А как в DI попадет реализация из DL?

Посмотрите примеры луковой архитектуры)

Max- Автор вопроса
Max
Что такое DI 😁

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-7.0

Max
Что такое DI 😁

Контейнер зависимостей наверн

Andrew Shurunov
Кто регает?

Ну почитайте же теорию

Andrew Shurunov
Кто регает?

Например web проект

Oleg Safonov
Например web проект

Получается WEB проект референсит DL и BL, а DL референсит BL. И это якобы с твоих слов общепринятая теория (поправил опечатки только что)

Andrew Shurunov
Получается WEB проект референсит DL и BL, а DL реф...

Я выше написал про composition root. Web - как вариант да, так делают. И я утверждаю что это луговая архитектура

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

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

30500 за редактор? )
Владимир
47
Недавно 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
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта