интеграция чистой архитектуры с ORM - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь разработать монолитное c Django приложение с чистой архитектурой дяди Боба. Проблема в том, что я не хочу упускать мощные способности Django ORM, но в то же время это приведет к путанице. ORM будет обрабатывать хранилище и уровень данных приложения, но в то же время создает проблемы в DTO, потому что я не хочу передавать объекты типа Django модель.

Должен ли я создать порт для преобразования Django моделировать объекты в простые старые Python объекты? Я думаю, что Django не очень подходит для интеграции с чистой архитектурой. Я имею в виду, что для монолитного c крупномасштабного приложения Django будет иметь много отрицательных сторон.

1 Ответ

0 голосов
/ 01 мая 2020

Когда вы говорите о чистой архитектуре, вы говорите об луковой архитектуре (порты и адаптеры)? Если да, ваш вопрос относится не только к Django, но и ко всем языкам.

Фундаментальный принцип домена состоит в том, что он не должен иметь никаких зависимостей. Учитывая этот принцип, если ORM использует DTO, очень вероятно, что вам придется выполнить отображение ORM Entities <-> Domain Model

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...