2010-01-28 9 views
12

Существует множество «примитивных» типов таблиц котлов классов данных, которые могут отображаться во многих разных программах.Стандартные классы данных бизнес-логики для .NET.

Однако я никогда не видел набор классов или библиотек, который признает необходимость комбинировать все эти вещи с общей логикой, необходимой для них, например, для проверки.

Примеры классов ([] скобки соответствуют классам также в гипотетической библиотеки):

Адрес (улица, почтовый индекс, город, штат/территория/провинция, страна)
лицо (имя, контактная информация ([ Телефон]/[Email]/и т.д.), [Адрес], ПЛА/TIN, [CreditCard])
Телефон (номер, код страны и т.д.)
CreditCard (тип, номер, истечение срока, ККТ) **

И я уверен, что кто-то может придумать много других.

Я разработал свои собственные классы Phone/Address/Person/CreditCard, которые я использую в проектах, в комплекте с проверкой и логикой.

Однако я только могу подтвердить достоверность информации на США. Мой класс номера телефона идеально наследуется от базового класса Phone, так как мой фактически разделяет число на NPA, NXX и Station и полностью проверяет его со стандартами NANP.

Существует ли в сети набор библиотек, в котором имеется полная коллекция таких классов данных котлов с правильной валидацией?

Включает ли он проверку на всемирный набор данных или только данные США?

А для ** из CreditCard он способен соответствовать стандартам безопасности данных PCI?

Я знаю, что это классы, многие из которых, вероятно, много раз писали на разных языках, но есть ли какая-либо библиотека .NET, которая удовлетворяет этим желаниям?

Я бы предпочел открыть источник/бесплатно, хотя я бы рассмотрел платный набор сторонних библиотек.

+0

+1 +1 вопрос. Каждый раз, когда мне приходится писать новый класс «Адрес», я нахожу себя в голове, * почему *? Вы могли бы подумать, что для этого есть даже «отраслевой стандарт». – Aaronaught

+0

Точно, если бы у меня было время, я бы создал набор библиотек для этой цели. Я просто не могу гарантировать, что смогу справиться с этой областью. –

ответ

6

CSLA.NET может предлагать близко к тому, что ищет yoju're. Вероятно, это немного больше, чем то, что вы просите, но в нем есть наиболее полная документация по любой структуре (т.е. опубликованные книги из APress). Это также бесплатно.

В частности, пространство имен CSLA.ValidationRules и классы CommonRules и CustomRules фокусируются на проверке данных.

+0

Вау, безусловно, потрясающая основа для построения бизнес-логики. Я вижу, что это очень интересно реализует многие функции, которые я видел в нескольких проектах, над которыми я работал в прошлом. Однако я больше искал библиотеку/структуру «общеупотребительных классов», которые имеют широкую область применения, как, например, упомянутые мною примеры. –

1

Возможно, было бы удобно иметь схему типичных реализаций различных объектов при запуске проекта, однако конкретные реализации были бы конкретными, требующими конкретных действий и требований проверки. Вероятно, поэтому для инструментов генерации структуры ORM или бизнес-объекта требуется схема ввода для создания классов.

Если бы существовала стандартная кластерная структура, которая была бы с открытым исходным кодом, вы бы обнаружили, что эта схема будет массивной и постоянно растет, это затруднит обновление приложения. Каждый класс и свойство этого класса потребует много документации, с помощью которых они могут быть использованы и т. Д., Но это может быть субъективным.Схема, в которой можно было бы выбрать то, что они хотят и как она должна быть проверена, может использоваться в структуре генерации ORM/бизнес-объектов, может быть хорошей идеей, и я уверен, что они в настоящее время не существуют.

Вы могли бы взглянуть на конкретные проекты с открытым исходным кодом с аналогичной функциональностью и использовать их для вдохновения?