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

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

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

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

Получение данных из формы с помощью JavaScript - краткое руководство
Получение данных из формы с помощью JavaScript - краткое руководство
Получить данные из формы с помощью JS очень просто: вы запрашиваете элемент формы, передаете его конструктору new FormData() и, наконец, получаете...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
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

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