Логика предметной области и проверка данных

Я занят чтением и наслаждаюсь книгой Марка Симанна «Внедрение зависимостей в .Net».

Мне довольно трудно объяснить точный контекст, поэтому, пожалуйста, задавайте этот вопрос только тем, кто знаком с этой книгой.

Мой вопрос касается двух классов Product в главе 2, стр. 49. Один класс находится на уровне предметной области, а другой — на уровне доступа к данным. Объясняется, что класс Product на уровне доступа к данным был создан мастером Linq to Entity.

Я работаю с Linq to SQL, и я мог бы украсить свой класс модели атрибутами Ling to SQL, чтобы мне не нужно было иметь второй класс. Например.

[Table(Name="Customers")]
public class Customer
{
  [Column(IsPrimaryKey=true)]
  public string CustomerID;
  [Column]
  public string City;
}

Тем не менее, я чувствую, что это смешивает проблемы, и это фактически тесно свяжет мой доменный уровень с уровнем доступа к данным Linq to SQL. ты согласен с этим?

Предположим, я создал два класса «Клиент» для домена и уровня доступа к данным. Допустим, город является обязательным полем. При сохранении это правило необходимо проверить. Следует ли это делать на уровне предметной области или на уровне доступа к данным, или на том и другом?

Спасибо, Дарин

6
задан Daryn 18 March 2012 в 22:50
поделиться