Size: a a a

Software Design/Architecture/Zen

2021 June 04

SP

Sergey Protko in Software Design/Architecture/Zen
не нормально
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это называется global coupling
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
правило зависимостей соблюдается
источник

SP

Sergey Protko in Software Design/Architecture/Zen
какое такое правило?)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
вот ни одно из правил о котором я знаю не соблюдается
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
клин😂
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
там есть такое правило зависимостей
источник

SP

Sergey Protko in Software Design/Architecture/Zen
правило стабильных зависимостей - модель данных других "элементов системы" явно нельзя считать "стабильными".
правило абстрактных зависимостей - тоже мимо
правило ациклических зависимостей...

каких зависимостей правило?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и "там" это "где"?
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
в целом несмотря на крайнюю вербозность архитектуры это неплохое правило, и даже рабочее
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
уже написал где
источник

MT

Max Trifonov in Software Design/Architecture/Zen
+
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Вот у меня более общий вопрос есть, был у кого опыт разработки приложения для retail с оффлайн и онлайн продажей, и каков был опыт деления на domain/subdomain и контексты? Пообщался бы даже лично (в личку, голос, в чате тоже буду рад)
Считаю вопрос, достаточно, сложным и нет тут правильно или нет, интересен опыт именно...
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Учитывая отсутствия сторонних WMS и TMS систем, да и CRM тоже... если все +/- in house
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
а такое не практиковали случайно, что бы не писать левые ифы в методе агрегата, отсекать ненужное при запросе
вместо условного:
aggregates.get(aggregateId) => db.load(aggregateId); 
aggregate.handle(msg) => {
   if (msg.value !== this.value) throw Exception;
   this.changeState
}
сделать:
aggregates.get(msg) => db.loadBy(msg.aggregateId, msg.value); // тут уже от типа сообщения решаем как загружать
aggregate.handle(msg) => this.changeState
источник

SP

Sergey Protko in Software Design/Architecture/Zen
очень общий вопрос. я с оффлайн ретейлом не работал (да и в целом с ретейлом, болше специфичным) а потому тут надо разбираться как у тебя бизнес функционирует.

Ну то есть можно начать с того что бы проследить весь value chain
источник

SP

Sergey Protko in Software Design/Architecture/Zen
если есть возможность собрать людей вместе можно попробовать в big picture event storming поиграться...
источник

SP

Sergey Protko in Software Design/Architecture/Zen
если собраться нет возможности можно попытаться отдельно у людей выяснить какие-то базовые моменты (наивный биг пикчер самому собрать) и уже оттуда выделять процессы определять кто по этим процессам шарит и уже с ними общаться
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Считаю очень классным подходом!
Но пока, в текущем проекте, это потуги... много сопротивления (
источник

SP

Sergey Protko in Software Design/Architecture/Zen
потому лучше не пытаться это пушить, в целом это хорошо работает судя по всему когда ты уже на меньшем масштабе с пачкой людей попробовал.

У меня есть только опыт с системами кейтеринга где все происходит оффлайн и потом раз в час "синкается" стэйт и мы тип детектим неточности и просим корректировать или уведомляем кого надо о том что "у тебя поход воруют"
источник