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

Здравствуйте, коллеги. Я уже долгое время изучаю архитектурные решения и

наконец решил перейти к практике. Вопрос по чистой архитектуре:

Как спроектировать слои, когда мой низкоуровневый компонент должен вызвать низкоуровневый компонент?

Вот случай: моя вьюха (на Vue) хочет открывать модальные окна. Она может это делать средствами фреймворка электрон, а может как то иначе. Vue — является низкоуровневым компонентом. «Открыть модальное окно» — не выглядит юзкейсом в его классическом понимании, т.к. юзкейс — это про бизнес-логику и данные. То есть, вызывать открытие модального окна из юзкейса выглядит неправильным. Электрон, и его абстрактный «WindowsManager» — тоже низкоуровневый компонент. Так вот как и откуда правильно обратится к WindowsManager из вьюхи? Какой должен быть поток управления?

Возможно, я много где ошибся с терминами, и прошу меня направить на путь истинный

8 ответов

12 просмотров

слои это ложь

Не эксперт, но пришел к выводу что натягивать всякие архитектурные паттерны и подходы на Vue - плохая идея

Начни с организации проекта. Вот +- чистая, ui разбит по областям, инфраструктура определяет и расширяет используемый интерфейс vue и других библиотек. Коллекции собираются сканом директорий(чаще всего), где тип кодируется в имени файла и структура содержания поддерживается инфраструктурными типами.

жестко) а что DI-итя тут? и что описано в app/domain? этот код как то шерится?

✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
жестко) а что DI-итя тут? и что описано в app/dom...

я попробовал "@wessberg/di-compiler" для app, с последующем доступом через локатор в роутере(1 в 1 как на бэке), но вуй-кли очень не адекватно себя ведет если ts не transpile-only, и я скорее всего откажусь от этого в дальнейшем

✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
жестко) а что DI-итя тут? и что описано в app/dom...

app/domain - нет такого. core/domain - инфраструктурные типы для domain(типа базовых Entity/VO). domain пока ничего, в этом приложении нет того что туда можно поместить))

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Карта сайта