Size: a a a

Software Design/Architecture/Zen

2020 November 22

NF

Nikita Fedorov in Software Design/Architecture/Zen
Sergey Protko
Стаканчиками?
ну в плане лист - микросервис
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
эту картинку обычно используют чтобы показать бесполезность неймспейсов(в коде одного проекта), но если считать что мы можем иметь N копий листов и имя A это персонаж, то получается годнота
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Sergey Protko
Все что ты назвал это s из solid :)
А BC отличается от этого концепта? Помимо идей про единый язык
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Yury Golikov
А BC отличается от этого концепта? Помимо идей про единый язык
Bounded Context строится по принципу: положи в одну коробку семантически связные предметы. SRP строится по принципу: положи в разные коробки предметы нужные разным людям.  И CRP (комон реюз) аналогично SRP.
источник

YG

Yury Golikov in Software Design/Architecture/Zen
А что значит семантически связанные? SRP скорее про разные причины изменений.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
По этому удобнее всего делать BC>CRP>SRP потому что BC дает скейл и ограничение на семантику и стабильность в Open/Closed, а CRP/SRP не дает сейл и Open/Closed, но дает лучшее разделение внутри.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Yury Golikov
А что значит семантически связанные? SRP скорее про разные причины изменений.
если делить все по SRP у тебя никогда не будет 1 бд на микросервис
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
потому что тебе в этой 1 бд придется иметь 100500 табличек
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Nikita Fedorov
если делить все по SRP у тебя никогда не будет 1 бд на микросервис
Не понимаю почему?(
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
BC сужает до минимума потребность в знаниях и данных, SRP говорит буквально "единственная причина для изменения" т.е. если у тебя есть Павлик и ему нужно на одной страничке видеть все заказы, все товары и ещё и стату, то будь добр запихнуть все это в один модуль без внешних зависимостей.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
и если есть Игорь для которого есть такая же страничка, будь добр выделить под это ещё один модуль и ещё одну бд
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
С BC такого не будет, по крайней мере не в таком масштабе
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Nikita Fedorov
BC сужает до минимума потребность в знаниях и данных, SRP говорит буквально "единственная причина для изменения" т.е. если у тебя есть Павлик и ему нужно на одной страничке видеть все заказы, все товары и ещё и стату, то будь добр запихнуть все это в один модуль без внешних зависимостей.
То мы изменим другой модуль, который собирает эту инфу чтобы показать юзеру такую страничку
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Yury Golikov
То мы изменим другой модуль, который собирает эту инфу чтобы показать юзеру такую страничку
> этот другой модуль должен быть написан специально для Павлика, либо специально для Игоря
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
но не для обоих вместе
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Nikita Fedorov
> этот другой модуль должен быть написан специально для Павлика, либо специально для Игоря
Ну там речь про роли
источник

YG

Yury Golikov in Software Design/Architecture/Zen
А не про конкретных людей
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Те про источники изменений
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
причем если мы говорим что этот модуль один и использует одну кодовую базу, то это модуль BC, т.к. SRP предпологает что кодовая база будет разной
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Nikita Fedorov
Bounded Context строится по принципу: положи в одну коробку семантически связные предметы. SRP строится по принципу: положи в разные коробки предметы нужные разным людям.  И CRP (комон реюз) аналогично SRP.
Нуууу не совсем. И srp и bc про семантически связанные вещи которые влияют друг на друга и меняются по одной причине, не?
источник