Нужно ли мне использовать DDD, Единицу работы, репозитории или что-то подобное для простых веб-приложений?

StackOverflow https://stackoverflow.com/questions/4380791

Вопрос

Я работаю над простой системой электронных карт, используя .net4 (c #).Я много читал о шаблоне единицы работы, шаблоне репозитория и незнании постоянства.Я думаю, что у меня есть представление о стратегии и преимуществах построения моих слоев таким образом, но для моего простого приложения мне интересно, необходимо ли это и может ли кто-нибудь указать мне на хорошую архитектуру для моей области применения.

Пожалуйста, поправьте меня, если я ошибаюсь - основные преимущества использования репозиториев заключаются в меньшем количестве обращений к базе данных и отделении архитектуры приложения от архитектуры БД.IE - то, что хорошо для производительности БД, не всегда хорошо для дизайна приложений, поэтому лучше всего спроектировать то, что лучше для обоих, а затем создать интерфейс между ними.

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

Есть ли другие преимущества DDD, которых мне не хватает или было бы излишним создавать такую надежную архитектуру для каждого возникающего простого проекта?Спасибо за любую помощь.

Это было полезно?

Решение

А ты знаешь потребность чтобы использовать [вставить шаблон здесь]: Нет Когда дело доходит до дела, наилучшей практикой всегда является та, которая обеспечивает выполнение вашей заявки и соответствует временным, денежным и техническим требованиям.

Но если вы придерживаетесь подхода "давайте просто сделаем это", то имейте в виду Технический долг возможно, вы несете ответственность.

Также есть много причин использовать некоторые из этих шаблонов (и они не всегда связаны с производительностью), особенно шаблон единицы выполнения работы.Это больше связано с требованиями и ограничениями, которые часто сопровождают ORM и тому подобное.Эти проблемы могут быть немного сложными, но я подозреваю, что когда вы начнете внедрять некоторые из этих вещей, вы начнете осознавать, в чем заключаются эти проблемы, и придете к пониманию того, почему эти шаблоны полезны.

Другие советы

Согласен с CodingGorilla.Шаблоны хороши, если только они не противоречат ЯГНИ.

Если каждая транзакция должна быть записана немедленно (то есть, если у вас есть потенциальное противоречие между действиями двух пользователей), тогда вам понадобится механизм очередей, или вы можете использовать базовый транзакционный механизм любого хранилища данных, которое вы можете использовать (напримерSQL)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top