Найдено 334 результата

sda
2017.04.20, 02:35
Форум: Архитектура, дизайн, ООП
Тема: Вопросы по ViewModel
Ответы: 22
Просмотры: 9587

Re: Вопросы по ViewModel

ElisDN хорошо, я думаю об этом. Я планирую создать диспетчер в инфраструктуре, который будет рассылать события (уведомления) в сокеты. Вызываться он будет из сервисов. Но я не могу понять, что такой диспетчер должен принимать на вход. Ему нужно название уведомления, кому отправлять и что отправлять....
sda
2017.04.19, 23:44
Форум: Архитектура, дизайн, ООП
Тема: Вопросы по ViewModel
Ответы: 22
Просмотры: 9587

Re: Вопросы по ViewModel

Ну вообще у Эванса в книге такая диаграмма.
Изображение

slavcodev, ну допустим. Но еще нужно знать, каким конкретно пользователям отправлять. Эти данные тоже в dto хранить?
sda
2017.04.19, 22:53
Форум: Архитектура, дизайн, ООП
Тема: Вопросы по ViewModel
Ответы: 22
Просмотры: 9587

Re: Вопросы по ViewModel

anton_z, я тоже считаю, что сервис должен возвращать dto и по книгам Вернона так и есть. Но я использую websocket и нужно вернуть не только ответ на запрос, но и рассылать данные по сокетам. Например, такой кейс Пользователь делает запрос, чтобы войти на сайт. Пользователь получает ответ с данными о...
sda
2017.04.12, 14:58
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42427

Re: Слоистая архитектура для Yii приложений

Кое какие тесты все же можно написать. Конечно. Можно писать интеграционные тесты с участием базы, но они долгие и ломкие. Если их начать писать в промышленных масштабах вместо юнит-тестов, то будет ситуация, когда перед выкатыванием в продакшн нужно полсуток ждать, пока эти тесты пройдут, а если н...
sda
2017.04.12, 13:56
Форум: Архитектура, дизайн, ООП
Тема: Слоистая архитектура для Yii приложений
Ответы: 95
Просмотры: 42427

Re: Слоистая архитектура для Yii приложений

Наигравшись в архитектуру начинаешь понимать Оно там просто не надо и излишне. Вечно это читаю, но так и не понял, какое решение предлагает yii. То что описано в доках отлично подходит под CRUD. Но CRUD это по-сути веб-интерфейс для правки табличек в базе. Типичное же веб-приложение несколько сложн...
sda
2017.04.06, 20:08
Форум: Архитектура, дизайн, ООП
Тема: Как корректно внести изменения в несколько агрегатов за раз?
Ответы: 17
Просмотры: 6161

Re: Как корректно внести изменения в несколько агрегатов за раз?

А в чем профит обычного sql запроса? Ведь в таком случае, чтобы обновить несколько агрегатов нужно будет раздуть транзакцию кучей sql запросов. Чем жирнее транзакция тем больше шансов, что она зафейлится. Это уже не eventual consistency будет, ведь он как раз об обратном.
sda
2017.04.06, 13:10
Форум: Архитектура, дизайн, ООП
Тема: Как корректно внести изменения в несколько агрегатов за раз?
Ответы: 17
Просмотры: 6161

Re: Как корректно внести изменения в несколько агрегатов за раз?

Здесь используют доменные объекты и это логично https://github.com/florindpreda/EventualConsistency.DomainEvents.AzureServiceBus/blob/master/EvCoSample.Application/ProductDeletedEventConsumer.cs но я не пойму как правильно действовать если на доменное событие необходимо изменить несколько разных дом...
sda
2017.04.06, 10:09
Форум: Архитектура, дизайн, ООП
Тема: Проектирование сущностей, сервисов и репозиториев
Ответы: 108
Просмотры: 49938

Re: Проектирование сущностей предметной области

Кстати у Эванса Строка таблицы должна содержать объект - возможно, вместе с его подобъектами в виде АГРЕГАТА. Вообще DDD говорит, что клиент всегда должен работать с корнем агрегата и не лезть в его внутреннее устройство. Возможно делая поиск объекта по хранилищу не следует лезть глубже корня агрега...
sda
2017.04.03, 08:58
Форум: Архитектура, дизайн, ООП
Тема: Контроль доступа в DDD ?
Ответы: 4
Просмотры: 2666

Re: Контроль доступа в DDD ?

Меня еще угнетает необходимость писать отдельные пермишены под каждый метод и добавлять их в базу данных. Потом еще не забывать удалять их из базы, если они больше не актуальны. Вообще я немного подумал и для фронтенда контроль доступа мне вроде как не нужен. Нужен для админ. панели. Но для неё врод...
sda
2017.04.01, 06:18
Форум: Архитектура, дизайн, ООП
Тема: Проектирование сущностей, сервисов и репозиториев
Ответы: 108
Просмотры: 49938

Re: Проектирование сущностей предметной области

Про целостность json не понятно, что Дмитрий имеет ввиду. Наверное имеет ввиду отсутствие транзакций в nosql. Но мне интересно, для чего Дмитрий бы их использовал в nosql, ведь Вон Вернон пишет, что сохранять нужно не более 1 агрегата внутри транзакции. Но в nosql мы можем и без транзакции атомарно...
sda
2017.03.31, 17:37
Форум: Архитектура, дизайн, ООП
Тема: Проектирование сущностей, сервисов и репозиториев
Ответы: 108
Просмотры: 49938

Re: Проектирование сущностей предметной области

Объясните в статье причину, по которой люди до сих пор создают себе проблемы с плоскими таблицами, если postgresql/mysql умеют работать с json не хуже документоориентированных субд ? Только потому, что с 70ых годов прошлого века плоские таблицы стали дефолтным решением? DDD появился в начале нулевых...
sda
2017.03.31, 06:02
Форум: Архитектура, дизайн, ООП
Тема: Контроль доступа в DDD ?
Ответы: 4
Просмотры: 2666

Контроль доступа в DDD ?

Необходимо дать пользователям разные права на сайте. Если использовать инструменты фреймворка, то при миграции на другой фреймворк, управление правами и сами права нужно будет делать заново. Наверное хотелось бы иметь некий Proxy сервис, через который бы шли все вызовы к application layer и который ...
sda
2017.03.22, 15:36
Форум: Архитектура, дизайн, ООП
Тема: Вопросы по ViewModel
Ответы: 22
Просмотры: 9587

Вопросы по ViewModel

Есть доменный объект и часть его состояния нужно отобразить в пользовательском интерфейсе.

Подскажите, по следующим вопросам:

1. ViewModel можно создавать в контроллере ?
2. ViewModel может зависеть от фреймворка ?
3. Application service может возвращать в контроллер доменный объект ?
sda
2017.03.15, 05:19
Форум: Архитектура, дизайн, ООП
Тема: Почему в Yii2 есть валидаторы на mongoid, json
Ответы: 63
Просмотры: 22425

Re: Почему в Yii2 есть валидаторы на mongoid, json

Если следовать гайду, то в итоге гарантированно будет спагетти код. Все что видел на Yii так и написано. Печально, что в доках нет никаких отсылок, что читать, чтобы сделать иначе. Кажется, фреймворк должен только помогать прокрутить доменную модель через http или иной протокол, а остальное (валидац...
sda
2017.01.11, 10:27
Форум: Архитектура, дизайн, ООП
Тема: Eventual consistency
Ответы: 36
Просмотры: 9196

Re: Eventual consistency

rugabarbo, вы пытаетесь меня поучать, неявно заявляя о своем превосходстве и некомпетентности собеседника. Я сюда не за этим пришел. Я не идиот и я понимаю, что может означать бочка на изображении, но я прочитал всю тему и по внешним ссылкам тоже всё почитал и понимаю, о чем там идет речь. Я понимаю...
sda
2017.01.11, 06:50
Форум: Архитектура, дизайн, ООП
Тема: Eventual consistency
Ответы: 36
Просмотры: 9196

Re: Eventual consistency

rugabarbo, спасибо за ответ. Про PHP ничего не говорил. Пишу на другом языке. DDD внутри демона. На форуме Yii2 потому что здесь обсуждаются вопросы архитектуры. Строить на скорую руку ничего не пытаюсь. Наоборот хочу разобраться. Речь о масштабировании базы и консистентности данных. Последняя ссылк...
sda
2017.01.10, 02:55
Форум: Архитектура, дизайн, ООП
Тема: Eventual consistency
Ответы: 36
Просмотры: 9196

Re: Eventual consistency

ElisDN, zelenin, я понимаю как это будет работать в рсубд. Проблема то в монге, она не может атомарно ничего изменить, поэтому ни в один момент времени нет гарантии, что снапшот, который снимается с базы находится в консистентном состоянии. Мне кажется я вообще пытаюсь сделать невозможное. Походу ре...
sda
2017.01.09, 21:54
Форум: Архитектура, дизайн, ООП
Тема: Eventual consistency
Ответы: 36
Просмотры: 9196

Re: Eventual consistency

zelenin, классический пример перевода денег. Создаем и сохраняем недетерминированное событие с такими данными { senderId: 1, recipientId: 2, sum: 20 } Теперь обработчику события необходимо обновить 2 документа в монго коллекции. Пусть у отправителя будет 100 денег, а у получателя 10 денег. Тогда по ...