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

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

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

Сообщение ElisDN » 2017.03.30, 14:11

Завёл цикл статей с примерами реализации (список обновляется):
Последний раз редактировалось ElisDN 2017.05.07, 11:49, всего редактировалось 11 раз.
Не забудьте пройти мастер-класс по Yii2.

Melodic
Сообщения: 81
Зарегистрирован: 2016.05.11, 17:43
Откуда: Луганск

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

Сообщение Melodic » 2017.03.30, 15:30

Круто, жду остальные статьи :)

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

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

Сообщение pistol » 2017.03.31, 08:31

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

Ждем с нетерпением)

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

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

Сообщение samdark » 2017.03.31, 11:38

Вторая — самая сложная.

sda
Сообщения: 301
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda » 2017.03.31, 17:37

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

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

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

Сообщение ElisDN » 2017.03.31, 18:18

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

sda
Сообщения: 301
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda » 2017.03.31, 20:43

а в чем проблемы с индексированием? Вроде умеют индексировать https://www.postgresql.org/docs/9.4/sta ... N-INDEXING

anton_z
Сообщения: 251
Зарегистрирован: 2017.01.15, 15:01

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

Сообщение anton_z » 2017.04.01, 05:50

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

anton_z
Сообщения: 251
Зарегистрирован: 2017.01.15, 15:01

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

Сообщение anton_z » 2017.04.01, 05:51

Для второй части лучше взять doctrine, повторное использоввание и библиотеки это наше всё. Посиотрим, что выберет автор

sda
Сообщения: 301
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda » 2017.04.01, 06:18

anton_z писал(а):
2017.04.01, 05:50
Про целостность json не понятно, что Дмитрий имеет ввиду.
Наверное имеет ввиду отсутствие транзакций в nosql. Но мне интересно, для чего Дмитрий бы их использовал в nosql, ведь Вон Вернон пишет, что сохранять нужно не более 1 агрегата внутри транзакции. Но в nosql мы можем и без транзакции атомарно сохранить весь агрегат одной целостной json структурой. Тогда для решения какой проблемы нужны транзакции в nosql ?

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

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

Сообщение samdark » 2017.04.01, 20:00

Решил возродить почти забытую традицию вместо комментов писать небольшие статьи: http://rmcreative.ru/blog/post/proektir ... sti--mysli

Аватара пользователя
vitovt
Сообщения: 205
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt » 2017.04.03, 19:35

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

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

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

Сообщение samdark » 2017.04.03, 23:20

Так весь смысл DDD в полной независимости от фреймворка. Так что тема не про Yii2.

Аватара пользователя
vitovt
Сообщения: 205
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt » 2017.04.04, 13:47

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

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

Я не могу применить то, что знаю сейчас и пробовать эксперементировать на живом проекте, но в данный момент нахожусь на старте написания API к проекту, которое будет реализовано как отдельное приложение. Именно поэтому и хочется разобраться и посмотреть как лучше чтобы начать все это прекрасное дело применять.

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

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

Сообщение samdark » 2017.04.04, 14:00

Думаю, новые статьи Дмитрия раскроют тему взаимодействия доменного слоя и приложения.

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

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

Сообщение ElisDN » 2017.04.04, 14:03

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

Аватара пользователя
vitovt
Сообщения: 205
Зарегистрирован: 2012.03.21, 10:37
Контактная информация:

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

Сообщение vitovt » 2017.04.04, 17:42

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

sda
Сообщения: 301
Зарегистрирован: 2013.12.19, 09:29

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

Сообщение sda » 2017.04.06, 10:09

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

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

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

Сообщение ElisDN » 2017.04.07, 11:35

Добавил статью про сервисы приложения.
Не забудьте пройти мастер-класс по Yii2.

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

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

Сообщение samdark » 2017.04.07, 14:09

На сайт в новости тоже надо добавить...

Ответить