Требование класса сопоставления для разрешения вновь добавленных полей

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

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

Итак, есть идея решения? или как я могу реализовать свою идею?

0
0
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать такую ​​библиотеку, как automapper, которая выдаст вам ошибку, если не все свойства будут правильно сопоставлены (http://docs.automapper.org/en/stable/Configuration-validation.html), а также избавит вас от написания всего кода для сопоставления каждого объекта.

Если вы не хотите использовать библиотеку, обязательно оберните сопоставления на фабриках, чтобы, по крайней мере, код был централизованным и легко обнаруживаемым, но он все еще подвержен ошибкам. Использование конструкторов вместо инициализаторы объектов также помогает находить сопоставления во время компиляции.

Спасибо. AutoMapper кажется хорошим. Я прочитал несколько страниц его документации, но я немного запутался, как правильно им пользоваться. Знаете ли вы какой-нибудь онлайн-образец, который использует AutoMapper в настольном проекте?

Mostafa F.Rad 11.09.2018 10:04

Использование конструктора также помогает обнаруживать сопоставления. Но когда в классе много полей, это не кажется хорошим выбором.

Mostafa F.Rad 11.09.2018 10:06

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