Найдено 479 результатов
- 2017.01.16, 16:40
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
А, ну то есть репозиторий агрегата должен сам сохранять все сущности, без обращения к другим репозиториям
- 2017.01.16, 16:33
- Форум: Общие вопросы по программированию
- Тема: Посоветуйте как разработать сайт букмекерской конторы
- Ответы: 17
- Просмотры: 5865
Re: Посоветуйте как разработать сайт букмекерской конторы
Мне кажется что первый блин все равно комом будет, хоть на чем пиши. В продакшен такое пускать не надо. Надо искать код аналогичных или схожих проектов и по нему делать сначала учебные проекты, изучив предварительно программирование, PHP и немного теорию БД и MySQL.
- 2017.01.16, 16:22
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
А если один агрегат состоит из других агрегатов и у них разные репозитории, как тогда менеджить транзакцию при сохранении? Один репозиторий при этом использует другой.
- 2017.01.16, 15:52
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
Про правило одного агрегата слышал. А как же быть со всякими групповыми операциями, охватывающими более одного агрегата? Например, сразу отменить 10 заказов - пользователь отмечает галочками и жмакает на кнопку.
- 2017.01.16, 15:15
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
Я знаю что такое 2PC. Мне нужно было узнать, как правильно работать на шине с транзакциями с учетом того, что в обработчиках могут быть заведомо нетранзакционные операции. Вы хотите сказать, что шину надо либо делать полностью транзакционной (все хендлеры можно откатить), либо вообще не рулить транз...
- 2017.01.16, 14:18
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
Так и делаю, но проблему транзакции это не решает, Обработчик события, который будет отправлять почту, тем более не знает, завершилась транзакция или нет. Кажется, пример плохой... Событие на отправку почты мы триггерим только в том случае, если успешно отработала первая часть и не триггерим в прот...
- 2017.01.16, 12:36
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
Лучше тем, что: - можно явно запускать нетранзакционные операции (хотя им всё равно, в сервисе их запускают или по событию). Тут еще устраняется тесная связь между декоратором, в котором управляется транзакция и обработчиком, разве нет? Например, когда я пишу обработчик, я же не знаю, что у меня та...
- 2017.01.16, 12:26
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
Так и делаю, но проблему транзакции это не решает, Обработчик события, который будет отправлять почту, тем более не знает, завершилась транзакция или нет. Кажется, пример плохой... Событие на отправку почты мы триггерим только в том случае, если успешно отработала первая часть и не триггерим в прот...
- 2017.01.16, 05:20
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
Re: DDD и транзакции
В таких случаях декорирую и EventDispatcher, чтобы его метод dispatch в приватный массив все события сохранял. И после коммита в шине вызываю запуск обработки. Т.е. декторатор шины команд, в котором обрабатывается транзакция, управляет шиной событий, верно? Получается когда ввожу транзакции в прило...
- 2017.01.16, 05:14
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
- 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...
- 2017.01.15, 17:40
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
- 2017.01.15, 17:29
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и сортировки/фильтрации
- Ответы: 14
- Просмотры: 8023
Re: DDD и сортировки/фильтрации
А, ну я неверно выразился, прошу прощения. Попробую уточнить. Думается мне, что само создание read-репозиториев дело не благодарное и не эффективное для сортировки/фильтрации. Что возвращать из этих репозиториев? Сущности? Их же создать, данными заполнить. Здесь нет сложности, управлять которой приз...
- 2017.01.15, 17:20
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и транзакции
- Ответы: 31
- Просмотры: 10856
DDD и транзакции
Уважаемые члены сообщества, помогите внести ясность в вопрос. Имею шину команд. Нужно обеспечить транзакционность. Видел решения https://php-and-symfony.matthiasnoback.nl/2015/01/responsibilities-of-the-command-bus/ связанные и использованием перехватов, шина декорируется классом, где разруливается ...
- 2017.01.15, 16:33
- Форум: Архитектура, дизайн, ООП
- Тема: Валидация данных
- Ответы: 25
- Просмотры: 8846
Re: Валидация данных
Не не, VO пусть лучше в конструкторе проверяет. В контроллере по идее VO не надо использовать. VO будет создаваться в домене.
P.S. Для валидации небольшое дублирование - практически неизбежная вещь.
P.S. Для валидации небольшое дублирование - практически неизбежная вещь.
- 2017.01.15, 16:21
- Форум: Архитектура, дизайн, ООП
- Тема: ORM и DDD
- Ответы: 25
- Просмотры: 11772
Re: ORM и DDD
Если пихать код сериализации в сами агрегаты, это же будет лишняя обязанность для агрегата. Что скажете насчет JMSSerializer ( http://jmsyst.com/libs/serializer ) для этого кейса? Можно создать сервис, который будет использовать JMSSerializer. на каждый класс будет будет свой маппинг в инфраструктур...
- 2017.01.15, 15:39
- Форум: Архитектура, дизайн, ООП
- Тема: DDD и сортировки/фильтрации
- Ответы: 14
- Просмотры: 8023
Re: DDD и сортировки/фильтрации
Да в CQRS вообще рекомендуют ORM не использовать. Лучше всего подойдет SqlDataProvider или AR. Для списков важна скорость. Если нужны проверки по статусам, датам и др, можно их сделать в AR из которых будете показывать. Да, дублирование, но, как говорится, you have to pay somewhere. Оно не будет сил...
- 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...
- 2017.01.15, 15:18
- Форум: Архитектура, дизайн, ООП
- Тема: DiC и SL в yii2
- Ответы: 17
- Просмотры: 5921
Re: DiC и SL в yii2
В DI есть такое понятие - корень компоновки. Контейнер можно использовать явно только в этом самом корне. У каждого модуля может быть свой корень компоновки. Вы создали свой с помощью отдельного автозагружаемого компонента приложения. С точки зрения DI все нормально. Но вам придется помимо самого мо...