Найдено 334 результата
- 2020.02.29, 21:17
- Форум: Архитектура, дизайн, ООП
- Тема: Доменная модель.
- Ответы: 5
- Просмотры: 17979
Re: Доменная модель.
anton_z, Егор пишет про вычисления внутри конструктора с последующим сохранением результатов в состояние объекта. Здесь нет подобных вычислений, только ассерты не позволяющие создать объект если нарушаются инварианты. В этом отношении особых различий нет. Примеры Вон Вернона также это используют. Ск...
- 2020.02.29, 06:57
- Форум: Архитектура, дизайн, ООП
- Тема: Доменная модель.
- Ответы: 5
- Просмотры: 17979
Доменная модель.
Здравствуйте. У Вон Вернона есть пример реализации форума . Внутри форума можно инициировать новое обсуждение. У Вон Вернона это реализовано таким образом . Происходит следующее. Метод startDiscussionFor проверяет некоторый инвариант, а именно закрыт форум или нет и в случае если форум всё же не зак...
- 2019.08.25, 16:15
- Форум: Архитектура, дизайн, ООП
- Тема: Проектирование сущностей, сервисов и репозиториев
- Ответы: 108
- Просмотры: 49966
Re: Проектирование сущностей, сервисов и репозиториев
по поводу ACID и заказа за который не оплатили, то хочу сказать, что только благодаря ACID клиент смог его вообще сьесть ACID не всегда работает. Представьте сайт бронирования путешествий. Необходимо забронировать билет на самолет, гостиницу и такси в рамках одного бизнес-процесса. Сделать атомарно...
- 2018.06.09, 14:58
- Форум: Архитектура, дизайн, ООП
- Тема: Crud генератор слоистой архитектуры
- Ответы: 12
- Просмотры: 6036
Re: Crud генератор слоистой архитектуры
ElisDN, где здесь вообще слоистая архитектура. Тут всё что генерируется зависит от фреймворка, который есть слой представления. Нижний слой, о верхнем знать не должен. Здесь всё наоборот.
- 2018.02.08, 11:18
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
- 2018.02.08, 10:41
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, да из-за размеров. У вас же наверняка есть реализация optimistic concurrency и когда одна транзакция меняет скажем сразу 3 агрегата, то кто-то другой уже мог тоже изменить любой из этих трех агрегатов. Тогда текущая транзакция не сможет выполниться. И чем толще транзакция, тем выше шанс так...
- 2018.02.08, 08:45
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, а у вас транзакции фейлятся? Чем больше агрегатов сохраняется в одной транзакции, тем ведь выше шанс что она законфликтится с другими транзакциями.
- 2018.02.02, 00:12
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, и ещё я по кассандре немного не понял. Там есть транзакции построенные на алгоритме paxos кажется. Но я так понял там не работает подход Read-Modify-Update по которому работает слой приложения в многоуровневых приложениях. Так как нет блокировок то соответственно при стандартном подходе rea...
- 2018.02.01, 23:55
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, ну транзакции в рсубд же тоже не магическим образом работают. Нельзя атомарно изменить данные в двух разных файлах, так как это 2 операции, в то время как ядро процессора атомарно может выполнить только 1 операцию. Рсубд эти транзакции пишут в лог, а уже потом накатывают изменения на данные...
- 2018.01.20, 10:20
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, а вы как делаете? Меняете все агрегаты в одной транзакции и сохраняете в рсубд ?
- 2018.01.20, 02:45
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, вот такие . Они вызывают сервисы приложения и меняют состояние сущностей. Отправить email 2 раза ничего страшного. Изменить состояние сущности 2 раза это уже нарушение согласованности данных. Сделать всю доменную модель идемпотентной невозможно. Сделать идемпотентным сам слушатель тоже нево...
- 2018.01.20, 00:44
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, но слушатели не могут атомарно запомнить id и выполнить операцию. Если увеличить id до операции, тогда операция может быть не выполнена, если увеличивать после операции, тогда операция может быть выполнена более 1 раза.
- 2018.01.19, 03:09
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
Как ? Что-то пока не могу понять идею.дедуплицировать на их основе (запоминать значение счетчика)
- 2018.01.19, 01:30
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, еще дедупликация нужна так как хендлеры не идемпотентны. Не придумал ничего кроме сохранения обработанных сообщений вместе с документом. Репозиторий кидает DuplicateMessageException если встречает сообщение в документе. Консьюмер ловит это исключение и пишет сообщение в коллекцию обработанн...
- 2018.01.17, 20:15
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
Если я правильно понял, вы всегда одним запросом к одному документу в монге одновременно меняете данные документа и добавляете к нему события (как вложенные документы), верно? да Ну а по поводу событий не из сущностей - то тут либо попробовать подобрать сущность, либо исхитряться и переделывать фун...
- 2018.01.17, 11:29
- Форум: Архитектура, дизайн, ООП
- Тема: Общение между слоями
- Ответы: 30
- Просмотры: 10629
Re: Общение между слоями
anton_z, в монге нет транзакций. Я придумал такое решение. Сохранять события внутри самой сущности и кидать их в очередь. Консьюмер получает событие и записывает его в таблицу событий, затем удаляет событие из сущности и запускает обработчик события. Если происходит сбой между сохранением событий и ...
- 2018.01.17, 00:04
- Форум: Архитектура, дизайн, ООП
- Тема: command bus !== ООП?
- Ответы: 34
- Просмотры: 10421
- 2018.01.16, 11:31
- Форум: Архитектура, дизайн, ООП
- Тема: REST API, маршрутизация
- Ответы: 7
- Просмотры: 3588
Re: REST API, маршрутизация
Bio man, все несуществующие url перенаправляют на index.html где поднимается angular/vue/etc и роутер фронтенд приложения решает, что показать пользователю. Зачем пытаться запускать vue при помощи php ?
- 2018.01.15, 21:40
- Форум: Архитектура, дизайн, ООП
- Тема: REST API, маршрутизация
- Ответы: 7
- Просмотры: 3588
Re: REST API, маршрутизация
Bio man, у фронтенд приложения своя точка входа index.html
- 2018.01.07, 15:35
- Форум: Архитектура, дизайн, ООП
- Тема: Разделение агрегата
- Ответы: 63
- Просмотры: 17957
Re: Разделение агрегата
noLogicOnlyWar, ну всё же я не нашел, чтобы вернон внедрял репозитории в сущность, тем более через конструктор. Я увидел только внедрение доменных сервисов и только в методы сущности (не в конструктор). Это действительно в некоторых ситуациях имеет смысл. Например можно вынести проверку емайла на ун...