Проектирование сущностей, сервисов и репозиториев

Обсуждаем, как правильно строить приложения
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Проектирование сущностей, сервисов и репозиториев

Сообщение ElisDN »

Завёл цикл статей с примерами реализации (список обновляется):
Последний раз редактировалось ElisDN 2017.05.07, 11:49, всего редактировалось 11 раз.
Melodic
Сообщения: 87
Зарегистрирован: 2016.05.11, 17:43
Откуда: Луганск

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

Сообщение Melodic »

Круто, жду остальные статьи :)
Аватара пользователя
pistol
Сообщения: 216
Зарегистрирован: 2014.07.12, 15:18
Откуда: Курган
Контактная информация:

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

Сообщение pistol »

Спасибо! Особенно интересна будет вторая часть, где вы будете соединять два разных мира: БД и реального.

Ждем с нетерпением)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

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

Сообщение samdark »

Вторая — самая сложная.
sda
Сообщения: 334
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda »

Объясните в статье причину, по которой люди до сих пор создают себе проблемы с плоскими таблицами, если postgresql/mysql умеют работать с json не хуже документоориентированных субд ? Только потому, что с 70ых годов прошлого века плоские таблицы стали дефолтным решением? DDD появился в начале нулевых, спустя 30 лет. Не пришло ли время пересмотреть подход к хранению данных ? Вон Вернон писал как можно использовать DDD и хранение структурированных данных в postgresql https://vaughnvernon.co/?p=942
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN »

sda писал(а): 2017.03.31, 17:37 Объясните в статье причину, по которой люди до сих пор создают себе проблемы с плоскими таблицами, если postgresql/mysql умеют работать с json не хуже документоориентированных субд?
Из-за всё тех же проблем целостности всех NoSQL решений и проблем индексирования JSON в MySQL.
Последний раз редактировалось ElisDN 2017.03.31, 22:41, всего редактировалось 1 раз.
sda
Сообщения: 334
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda »

а в чем проблемы с индексированием? Вроде умеют индексировать https://www.postgresql.org/docs/9.4/sta ... N-INDEXING
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

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

Сообщение anton_z »

Postgres отлично умеет, mysql с костылями, нивелирующими json. Про целостность json не понятно, что Дмитрий имеет ввиду. Формат-то безсхемный
Последний раз редактировалось anton_z 2017.04.01, 05:58, всего редактировалось 1 раз.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

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

Сообщение anton_z »

Для второй части лучше взять doctrine, повторное использоввание и библиотеки это наше всё. Посиотрим, что выберет автор
sda
Сообщения: 334
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda »

anton_z писал(а): 2017.04.01, 05:50 Про целостность json не понятно, что Дмитрий имеет ввиду.
Наверное имеет ввиду отсутствие транзакций в nosql. Но мне интересно, для чего Дмитрий бы их использовал в nosql, ведь Вон Вернон пишет, что сохранять нужно не более 1 агрегата внутри транзакции. Но в nosql мы можем и без транзакции атомарно сохранить весь агрегат одной целостной json структурой. Тогда для решения какой проблемы нужны транзакции в nosql ?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

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

Сообщение samdark »

Решил возродить почти забытую традицию вместо комментов писать небольшие статьи: http://rmcreative.ru/blog/post/proektir ... sti--mysli
Аватара пользователя
vitovt
Сообщения: 210
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt »

samdark писал(а): 2017.04.01, 20:00 Решил возродить почти забытую традицию вместо комментов писать небольшие статьи: http://rmcreative.ru/blog/post/proektir ... sti--mysli
Очень полезно, тем более когда только начинаешь разбираться в теме. И как всегда не хватает простых и понятных примеров с кодом для Yii2 и реальной предметной областью.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

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

Сообщение samdark »

Так весь смысл DDD в полной независимости от фреймворка. Так что тема не про Yii2.
Аватара пользователя
vitovt
Сообщения: 210
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt »

samdark писал(а): 2017.04.03, 23:20 Так весь смысл DDD в полной независимости от фреймворка. Так что тема не про Yii2.
Могу говорить только за себя, как раз мне и не понятно как в рамках Yii2 на котором уже написано бОльшая часть проекта начать отвязываться от зависимости фреймоворка уходя больше в DDD.

именно поэтому мне в упор не понятна реализация хоть какого-то более менее реального домена. Не знаю, интернет магазин, фотоальбом, оплата чего-то и т.д.

Я не могу применить то, что знаю сейчас и пробовать эксперементировать на живом проекте, но в данный момент нахожусь на старте написания API к проекту, которое будет реализовано как отдельное приложение. Именно поэтому и хочется разобраться и посмотреть как лучше чтобы начать все это прекрасное дело применять.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

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

Сообщение samdark »

Думаю, новые статьи Дмитрия раскроют тему взаимодействия доменного слоя и приложения.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN »

vitovt писал(а): 2017.04.04, 13:47 Могу говорить только за себя, как раз мне и не понятно как в рамках Yii2 на котором уже написано бОльшая часть проекта начать отвязываться от зависимости фреймоворка уходя больше в DDD.
Как раз по интенсиву и научитесь отвязываться с использованием интерфейсов. Как и договорились, буду ждать вопросов по урокам на почту или в личку после просмотра. Ну и в статьях многое будет.
Аватара пользователя
vitovt
Сообщения: 210
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt »

ElisDN писал(а): 2017.04.04, 14:03
vitovt писал(а): 2017.04.04, 13:47 Могу говорить только за себя, как раз мне и не понятно как в рамках Yii2 на котором уже написано бОльшая часть проекта начать отвязываться от зависимости фреймоворка уходя больше в DDD.
Как раз по интенсиву и научитесь отвязываться с использованием интерфейсов. Как и договорились, буду ждать вопросов по урокам на почту или в личку после просмотра. Ну и в статьях многое будет.
Отлично, интесив приобрел, буду изучать \ и следить за появлением статей.
sda
Сообщения: 334
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda »

Кстати у Эванса
Строка таблицы должна содержать объект - возможно, вместе с его подобъектами в виде АГРЕГАТА.
Вообще DDD говорит, что клиент всегда должен работать с корнем агрегата и не лезть в его внутреннее устройство. Возможно делая поиск объекта по хранилищу не следует лезть глубже корня агрегата? Если всё же хочется сделать поиск по подобъекту, возможно такой подобъект должен быть самостоятельным, а не жить внутри агрегата?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проектирование сущностей и репозиториев

Сообщение ElisDN »

Добавил статью про сервисы приложения.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Проектирование сущностей, сервисов и репозиториев

Сообщение samdark »

На сайт в новости тоже надо добавить...
Закрыто