Надеюсь, вы, ребята, можете дать мне хорошие предложения. Я думаю, как создать хорошую архитектуру для разработки C#. Я стараюсь изо всех сил, чтобы объяснить сценарии, потому что им не хорошо на английском:Нужна хорошая архитектура для правил валидации
1) Два класса: Синий банк и Red Bank
2) Третий класс: Правила Validations
3) синий и красный Банки имеют несколько полеев (значения), такие как ACCOUNTNUMBER, сумма, InvoicePeriod и т.д. ... Пример здесь (XML):
Синего банк
<AccountNumber>Maria 5987593457</AccountNumber>
<Amount>200.00</Amount>
<InvoicePeriod>1</InvoicePeriod>
Red Bank
<AccountNumber>8529458</AccountNumber>
<Amount>300.00</Amount>
<InvoicePeriod>0</InvoicePeriod>
Красные/синие банки имеют одни и те же правила валидации, такие как суммы полей, которые должны быть численными. Но у Red/Blue Banks есть разные правила валидации - поле AccountNumber должно быть буквенно-числовым в Blue Bank, тогда как AccountNumber должно быть числовым в Red Bank иначе не удалось. Поле InvoicePeriod должно быть по умолчанию 1 в Red Bank, тогда как оно должно быть по умолчанию 0 в Blue Bank иначе не выполнено.
Моя идея:
Я хочу создать каждый класс красной/синюю банку для различных правил проверки, а затем я также создать правила класса валидации для одних и тех же правил, что синие/красные банки имеют.
Мой код здесь:
Синий Bank класс:
- Validate AccountNumber, который должен быть alphanumberic иначе не удалось
- Validate InvoicePeriod, который должен быть по умолчанию 1 в противном случае не удалось
Red Bank класс:
- Validate AccountNumber, который должен быть Numberic иначе не удалось
- Validate InvoicePeriod, который должен быть по умолчанию 0 в противном случае не удалось
RulesOfValidation класс
- Validate Сумма которые должны быть числовыми (одинаковые правила для классов Red/Blue Bank)
Как это работает с диктатором <,> с этими классами? Или любое лучшее предложение с примерами кодов?
Ваша помощь будет высоко оценена.
Для проверки вы можете ознакомиться с интерфейсом ['IDataErrorInfo' (http://msdn.microsoft.com/en-us/library/system.componentmodel.idataerrorinfo.aspx), см. Пример [здесь] (http://www.asp.net/ mvc/tutorials/old-versions/models-% 28data% 29/validating-with-the-idataerrorinfo-interface-cs) – polkduran