Информация об изменениях

Сообщение Re: Domain-Driven-Design и DataGridView не совместимы? от 29.09.2023 12:31

Изменено 29.09.2023 12:34 Qulac

Re: Domain-Driven-Design и DataGridView не совместимы?
Здравствуйте, zelenprog, Вы писали:


Z>Вроде как по теории лучше разрабатывать программу, используя Domain-Driven-Design.

Z>О необходимости Domain-model написано много книг.
Z>На применение Domain-model заточены архитектуры типа "Чистая архитектура", "Гексагональная архитектура".

Z>Как я понимаю, Domain-model работает с Сущностями и коллекциями сущностей.

Z>Для хранения этих сущностей Domain-model использует Repository.

Z>При этом часто встречаются задачи, когда нужно отобразить на форме список записей.

Z>Удобным способом для этого являются объекты типа DataGridView, которые есть во многих средах разработки, особенно для десктопных приложений.
Z>Однако, объекты типа DataGridView работают с табличными данными, и не умеют работать с коллекциями объектов.

Z>Я просмотрел много обучающих примеров по DDD, и ни в одном из них нету работы с табличными данными.

Z>И получается, что по сути использование DataGridView — противоречит DDD?
Z>Так ли это? Действительно ли DDD и DataGridView не совместимы?

Z>Можно ли придумать какой-то способ их совместного применения? Не нарушая при этом принципов DDD?


Z>Хотелось бы написать хорошую программу, чтобы "ядром" этой программы являлась Domain-model, но чтобы при этом в пользовательском интерфейсе данные отображались с помощью DataGridView.

Z>Если это возможно, то какая должна быть архитектура?
Z>Как при этом должны взаимодействовать между собой слои программы?

Если очень нужно то можно реализовать необходимые интерфейсы источников данных для DataGridView, но скорей всего будет проще использовать wpf c паттерном mvvm, DataGrid и свою реализацию INotifyCollectionChanged.
Re: Domain-Driven-Design и DataGridView не совместимы?
Здравствуйте, zelenprog, Вы писали:


Z>Вроде как по теории лучше разрабатывать программу, используя Domain-Driven-Design.

Z>О необходимости Domain-model написано много книг.
Z>На применение Domain-model заточены архитектуры типа "Чистая архитектура", "Гексагональная архитектура".

Z>Как я понимаю, Domain-model работает с Сущностями и коллекциями сущностей.

Z>Для хранения этих сущностей Domain-model использует Repository.

Z>При этом часто встречаются задачи, когда нужно отобразить на форме список записей.

Z>Удобным способом для этого являются объекты типа DataGridView, которые есть во многих средах разработки, особенно для десктопных приложений.
Z>Однако, объекты типа DataGridView работают с табличными данными, и не умеют работать с коллекциями объектов.

Z>Я просмотрел много обучающих примеров по DDD, и ни в одном из них нету работы с табличными данными.

Z>И получается, что по сути использование DataGridView — противоречит DDD?
Z>Так ли это? Действительно ли DDD и DataGridView не совместимы?

Z>Можно ли придумать какой-то способ их совместного применения? Не нарушая при этом принципов DDD?


Z>Хотелось бы написать хорошую программу, чтобы "ядром" этой программы являлась Domain-model, но чтобы при этом в пользовательском интерфейсе данные отображались с помощью DataGridView.

Z>Если это возможно, то какая должна быть архитектура?
Z>Как при этом должны взаимодействовать между собой слои программы?

Если очень нужно то можно реализовать необходимые интерфейсы источников данных для DataGridView, но скорей всего будет проще использовать wpf c паттерном mvvm, DataGrid и свою реализацию INotifyCollectionChanged.
Вот собственная реализация этого интерфейса и будет работать с репозиторием или если надо с сетью