На днях меня попросили проверить систему, основанную на ASP.NET MVC + CSLA + DDD (проектирование дисков домена). Первая версия этой системы была основана на ASP.NET MVC + CSLA. Второй релиз был основан на том, что плюс добавил DDD. Причина в том, что ..... ну, я не знаю что. Когда я посмотрел на диаграммы двух разных архитектур, стало очевидно, что вторая версия была чрезвычайно сложной. Объекты CSLA в основном использовали объекты Domain. Когда вы видите что-то подобное, вы знаете, что оно уже пахнет, но трудно объяснить, почему кто-то не должен делать это таким образом без A) экстремального знания всех тем или B) использования этого в течение длительного времени. У меня нет ни одного из них для этой темы, но я знаю, что если бы я построил это с нуля, я бы не сделал это таким образом, равно как и многие разработчики, с которыми я связан.
Итак, дорогой читатель, что бы вы сделали в этой ситуации? Я думаю, что если вы хотите использовать CSLA, MVC и DDD, вы делаете ставку и выбираете ту или иную (CSLA или DDD). Если нет, на кухне слишком много поваров.
Пожалуйста, расскажите, если у вас есть мнения по этому вопросу.