Итак, если вы правильно поняли, вы надеетесь использовать средство доступа к данным, в частности, Entity Framework, чтобы помочь реализовать ваше приложение.
Это звучит, как вы не на самом деле заинтересован в делает Domain Driven Design для этого проекта.
Я думаю, что это прекрасное положение. DDD включает идеи и шаблоны и инструменты, которые полезны вне DDD.
Однако, как и другие, я буду предупреждать о том, чтобы идти на полпути по дороге DDD. Это особенно верно в отношении концепции модели домена. Когда вы начнете пытаться внедрить истинную модель домена, вам практически понадобятся остальные части DDD, чтобы заставить вас работать для вас. Вы обнаружите, что без всех частей головоломки DDD ваше приложение будет двигаться к анти-шаблону анемичного домена.
Однако, если вы входите в него со знанием того, что вы не делаете DDD, просто поднимая некоторые идеи от него, вы можете двигаться прямо к этой «анемичной модели домена», и это будет хорошо.
Я буду удивлен, если я не задержусь за это, но позвольте мне объяснить.
Вы можете взять ORM (EF), принять концепцию репозитория (хотя я предпочитаю называть его DAO - объектом доступа к данным - во избежание путаницы между ними) и реализовать ваше приложение с помощью стандартного Layered/Луковая архитектура. Основная часть вашей логики приложения будет включена в Службы, реализованные в стиле сценария транзакций, с использованием классов данных, которые напрямую отражают вашу базу данных.
Это проверенный временем способ создания приложения. Это не DDD. Эти две методологии подходят для разных типов лучше, имеют разные плюсы и минусы и т. Д.
Использование EF или аналогичного инструмента должно сделать простым и быстрым выполнение больших частей вашего приложения. Просто не увязнуть, пытаясь сделать DDD, когда вы действительно не делаете DDD.
Итак, позвольте мне понять, что вы заинтересованы в DDD, но не о незнании и тестировании настойчивости? ты серьезно?? Это звучит так, как будто вы * хотите * DDD, но не хотите прилагать к нему * усилия. Не делайте что-нибудь наполовину выпеченное - сделайте это в первый раз. Это мое мнение. – RPM1984
Я не вижу только черный или белый. Я не в своей голове. Мой босс попросил меня создать это приложение и не заботиться о тестировании. –
Сообщите своему «боссу», что из-за этого решения вы будете тратить на * много * больше времени на поддержание приложения. Я знаю, потому что я заплатил за это в прошлом и узнал мой урок. – RPM1984