Size: a a a

Software Design/Architecture/Zen

2020 December 16

SP

Sergey Protko in Software Design/Architecture/Zen
грубо говоря "сделать это под опенсурс" это месяц работы (в самом простом варианте), а сделать для себя - дня 3-4
источник

SP

Sergey Protko in Software Design/Architecture/Zen
просто за счет того что оч много допущений к тому "как че у нас организовано и какие мы хотим ограничения".
источник

ST

Sergey Tsarikov in Software Design/Architecture/Zen
Добрый день. А что делать с даннвми, которые появятся после создания агрегата? Например, создаем Company ($name, $inn, $postAddress) - каталог компаний. У каждой Company есть набор услуг Services (надо, конечно, придумать другое название), которые потом должны заполняться пользователем. Отдельно от Company услуги существовать не могут, бессмысленно, но на момент создания Company, мы еще не знаем какие услуги будут. Делать так Company ($name, $inn, $postAddres, ?Services $services = null) или при создании Company в хендлере создавать еще и отдельную сущность Services с company_id с пустыми значениями? $company = new Company (

$id = ID::next(), ...); $this->repository->add($company); $services =new Services ($id)?
источник

ST

Sergey Tsarikov in Software Design/Architecture/Zen
С одной стороны не хочется делать анемичной, с другой, просто превращать в набор CRUD
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Приветствую. Подскажите плиз, как лучше.
Есть адрес доставки для заказа, есть шаблон адреса доставки. Поля у них одинаковые.
Как более правильно это должно было бы выглядеть?

1) 2 сущности, 2 таблицы.  (Более за этот вариант, но не овер ли, с учетом одинаковых полей)
2) 2 сущности, 1 таблица  (Single Table inheritance)
3) 1 сущность с булевым полем.
4) Другое?
источник

MG

Max Grom in Software Design/Architecture/Zen
Sergey Tsarikov
Добрый день. А что делать с даннвми, которые появятся после создания агрегата? Например, создаем Company ($name, $inn, $postAddress) - каталог компаний. У каждой Company есть набор услуг Services (надо, конечно, придумать другое название), которые потом должны заполняться пользователем. Отдельно от Company услуги существовать не могут, бессмысленно, но на момент создания Company, мы еще не знаем какие услуги будут. Делать так Company ($name, $inn, $postAddres, ?Services $services = null) или при создании Company в хендлере создавать еще и отдельную сущность Services с company_id с пустыми значениями? $company = new Company (

$id = ID::next(), ...); $this->repository->add($company); $services =new Services ($id)?
> Отдельно от Company услуги существовать не могут, бессмысленно - почему? Пошив одежды делают многие, почему это не может тогда этот тип услуги быть в принципе? И уточни вопрос “а что делать с данными?” - использовать
источник

ST

Sergey Tsarikov in Software Design/Architecture/Zen
Max Grom
> Отдельно от Company услуги существовать не могут, бессмысленно - почему? Пошив одежды делают многие, почему это не может тогда этот тип услуги быть в принципе? И уточни вопрос “а что делать с данными?” - использовать
По услугам, я не совсем правильно отписал. Услуги не могут существовать отдельно от Company. Пошив одежды делается только в Company
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Павел Г.
Приветствую. Подскажите плиз, как лучше.
Есть адрес доставки для заказа, есть шаблон адреса доставки. Поля у них одинаковые.
Как более правильно это должно было бы выглядеть?

1) 2 сущности, 2 таблицы.  (Более за этот вариант, но не овер ли, с учетом одинаковых полей)
2) 2 сущности, 1 таблица  (Single Table inheritance)
3) 1 сущность с булевым полем.
4) Другое?
звучит как класс и объект соответственно. что такое "шаблон адреса", почему это сущность? есть разные шаблоны адресов? ну тогда наверное под каждый шаблон по сущности надо
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Алексей Гевондян
звучит как класс и объект соответственно. что такое "шаблон адреса", почему это сущность? есть разные шаблоны адресов? ну тогда наверное под каждый шаблон по сущности надо
Да, шаблон - это адрес который может сохранить пользователь, чтобы потом заного не вводить, а заполнить поля 1 кликом
источник

g

grunge_r in Software Design/Architecture/Zen
Павел Г.
Да, шаблон - это адрес который может сохранить пользователь, чтобы потом заного не вводить, а заполнить поля 1 кликом
Шаблон не получается правилом валидации?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
grunge_r
Шаблон не получается правилом валидации?
Не понял ...
источник

g

grunge_r in Software Design/Architecture/Zen
Павел Г.
Не понял ...
Это я неправильно понял смысл "шаблона")
источник

g

grunge_r in Software Design/Architecture/Zen
Павел Г.
Не понял ...
Как crud-мэйкер выбрал бы вариант 3
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
grunge_r
Как crud-мэйкер выбрал бы вариант 3
Ок, спасибо за ответ :)
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
в общем это чото типа "сохраненный адрес"
источник

АГ

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

AN

Allan Nettzan in Software Design/Architecture/Zen
Подскажите, что почитать про модели согласованности?
eventual consistency и тд
источник

П

Павел in Software Design/Architecture/Zen
Привет. Как называется подход когда js клиент сидит в одном контейнере с сервером и когда каждый в своем?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Алексей Гевондян
но я думаю в таком случае нужна таблица адресов, и айдишники этих адресов в разные места, где они нужны уже конкретно.
Это все понятно, что есть адреса и на них референсы где надо. Вопрос как отделить "Шаблоны" от "Адреса доставки".
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Павел
Привет. Как называется подход когда js клиент сидит в одном контейнере с сервером и когда каждый в своем?
никак?) Ну то есть, в чем подход то? кто файлики сервит? Есть какой "изоморфный JS" где и бэк и фронт один и тот же код юзают, и есть "обычный"... но что-то мне подсказывает что твой вопрос про другое
источник