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

anton_z
2017.01.16, 16:40
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

А, ну то есть репозиторий агрегата должен сам сохранять все сущности, без обращения к другим репозиториям
anton_z
2017.01.16, 16:33
Форум: Общие вопросы по программированию
Тема: Посоветуйте как разработать сайт букмекерской конторы
Ответы: 17
Просмотры: 5865

Re: Посоветуйте как разработать сайт букмекерской конторы

Мне кажется что первый блин все равно комом будет, хоть на чем пиши. В продакшен такое пускать не надо. Надо искать код аналогичных или схожих проектов и по нему делать сначала учебные проекты, изучив предварительно программирование, PHP и немного теорию БД и MySQL.
anton_z
2017.01.16, 16:22
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

А если один агрегат состоит из других агрегатов и у них разные репозитории, как тогда менеджить транзакцию при сохранении? Один репозиторий при этом использует другой.
anton_z
2017.01.16, 15:52
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

Про правило одного агрегата слышал. А как же быть со всякими групповыми операциями, охватывающими более одного агрегата? Например, сразу отменить 10 заказов - пользователь отмечает галочками и жмакает на кнопку.
anton_z
2017.01.16, 15:15
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

Я знаю что такое 2PC. Мне нужно было узнать, как правильно работать на шине с транзакциями с учетом того, что в обработчиках могут быть заведомо нетранзакционные операции. Вы хотите сказать, что шину надо либо делать полностью транзакционной (все хендлеры можно откатить), либо вообще не рулить транз...
anton_z
2017.01.16, 14:18
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

Так и делаю, но проблему транзакции это не решает, Обработчик события, который будет отправлять почту, тем более не знает, завершилась транзакция или нет. Кажется, пример плохой... Событие на отправку почты мы триггерим только в том случае, если успешно отработала первая часть и не триггерим в прот...
anton_z
2017.01.16, 12:36
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

Лучше тем, что: - можно явно запускать нетранзакционные операции (хотя им всё равно, в сервисе их запускают или по событию). Тут еще устраняется тесная связь между декоратором, в котором управляется транзакция и обработчиком, разве нет? Например, когда я пишу обработчик, я же не знаю, что у меня та...
anton_z
2017.01.16, 12:26
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

Так и делаю, но проблему транзакции это не решает, Обработчик события, который будет отправлять почту, тем более не знает, завершилась транзакция или нет. Кажется, пример плохой... Событие на отправку почты мы триггерим только в том случае, если успешно отработала первая часть и не триггерим в прот...
anton_z
2017.01.16, 05:20
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

В таких случаях декорирую и EventDispatcher, чтобы его метод dispatch в приватный массив все события сохранял. И после коммита в шине вызываю запуск обработки. Т.е. декторатор шины команд, в котором обрабатывается транзакция, управляет шиной событий, верно? Получается когда ввожу транзакции в прило...
anton_z
2017.01.16, 05:14
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

samdark писал(а): 2017.01.15, 18:27 В хендлере нельзя триггернуть событие вроде "успех" и на него зацепиться чем-то ещё?
Так и делаю, но проблему транзакции это не решает, Обработчик события, который будет отправлять почту, тем более не знает, завершилась транзакция или нет.
anton_z
2017.01.15, 18:20
Форум: Архитектура, дизайн, ООП
Тема: DiC и SL в yii2
Ответы: 17
Просмотры: 5921

Re: DiC и SL в yii2

В Yii это штатная ситуация, когда подключается бустрап модуля. В zf2/3 и symfony в одном месте модуль/бандл подключил и все - там и bootstrap и компоновка. Но это лирика). Нарушение даже если метод проксирует запрос на storage ? https://github.com/Cacatuidae/yii2-sl-example/blob/master/IpRange/mode...
anton_z
2017.01.15, 17:40
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

Re: DDD и транзакции

zelenin писал(а): 2017.01.15, 17:36
samdark писал(а): 2017.01.15, 17:29 А почему не отправлять письмо только в случае успешного завершения транзакции?
потому что транзакция в предлагаемом декораторе выше по уровню оригинального хэндлера - хэндлер не знает о транзакции.
Верно подмечено.
anton_z
2017.01.15, 17:29
Форум: Архитектура, дизайн, ООП
Тема: DDD и сортировки/фильтрации
Ответы: 14
Просмотры: 8023

Re: DDD и сортировки/фильтрации

А, ну я неверно выразился, прошу прощения. Попробую уточнить. Думается мне, что само создание read-репозиториев дело не благодарное и не эффективное для сортировки/фильтрации. Что возвращать из этих репозиториев? Сущности? Их же создать, данными заполнить. Здесь нет сложности, управлять которой приз...
anton_z
2017.01.15, 17:20
Форум: Архитектура, дизайн, ООП
Тема: DDD и транзакции
Ответы: 31
Просмотры: 10856

DDD и транзакции

Уважаемые члены сообщества, помогите внести ясность в вопрос. Имею шину команд. Нужно обеспечить транзакционность. Видел решения https://php-and-symfony.matthiasnoback.nl/2015/01/responsibilities-of-the-command-bus/ связанные и использованием перехватов, шина декорируется классом, где разруливается ...
anton_z
2017.01.15, 16:33
Форум: Архитектура, дизайн, ООП
Тема: Валидация данных
Ответы: 25
Просмотры: 8846

Re: Валидация данных

Не не, VO пусть лучше в конструкторе проверяет. В контроллере по идее VO не надо использовать. VO будет создаваться в домене.
P.S. Для валидации небольшое дублирование - практически неизбежная вещь.
anton_z
2017.01.15, 16:21
Форум: Архитектура, дизайн, ООП
Тема: ORM и DDD
Ответы: 25
Просмотры: 11772

Re: ORM и DDD

Если пихать код сериализации в сами агрегаты, это же будет лишняя обязанность для агрегата. Что скажете насчет JMSSerializer ( http://jmsyst.com/libs/serializer ) для этого кейса? Можно создать сервис, который будет использовать JMSSerializer. на каждый класс будет будет свой маппинг в инфраструктур...
anton_z
2017.01.15, 15:39
Форум: Архитектура, дизайн, ООП
Тема: DDD и сортировки/фильтрации
Ответы: 14
Просмотры: 8023

Re: DDD и сортировки/фильтрации

Да в CQRS вообще рекомендуют ORM не использовать. Лучше всего подойдет SqlDataProvider или AR. Для списков важна скорость. Если нужны проверки по статусам, датам и др, можно их сделать в AR из которых будете показывать. Да, дублирование, но, как говорится, you have to pay somewhere. Оно не будет сил...
anton_z
2017.01.15, 15:23
Форум: Архитектура, дизайн, ООП
Тема: DiC и SL в yii2
Ответы: 17
Просмотры: 5921

Re: DiC и SL в yii2

Еще одно: статические фабрики - враги DI. Определите интерфейс и внедрите его в свой контроллер. Напишите реализацию, в которой будет данный вызов. public function actionMethod($method) { $params = ArrayHelper::merge(Yii::$app->request->getQueryParams(), Yii::$app->request->post()); $object = Method...
anton_z
2017.01.15, 15:18
Форум: Архитектура, дизайн, ООП
Тема: DiC и SL в yii2
Ответы: 17
Просмотры: 5921

Re: DiC и SL в yii2

В DI есть такое понятие - корень компоновки. Контейнер можно использовать явно только в этом самом корне. У каждого модуля может быть свой корень компоновки. Вы создали свой с помощью отдельного автозагружаемого компонента приложения. С точки зрения DI все нормально. Но вам придется помимо самого мо...