Lógica de domínio vs validação de dados

Estou ocupado lendo e curtindo a Injeção de Dependências em .Net por Mark Seeman

É bastante difícil para mim explicar o contexto exato, então, por favor, apenas se preocupe com esta pergunta se você estiver familiarizado com o livr

Minha pergunta tem a ver com as duas classes de produtos no capítulo 2, página 49. Há uma na camada Domínio e uma na camada de acesso a dados. É explicado que a classe do produto na camada de acesso a dados foi criada pelo assistente Linq to Entit

Estou trabalhando com o Linq to SQL e pude adornar minha classe de modelo com atributos Ling to SQL, para não precisar ter uma segunda classe. Por exemplo

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

No entanto, sinto que isso está misturando preocupações e, na verdade, acopla minha camada de domínio à camada de acesso a dados do Linq to SQL. Você concorda com isso

Vamos supor que eu crie duas classes 'Customer', para o domínio e a camada de acesso a dados. Digamos que a cidade seja um campo obrigatório. Ao salvar, essa regra precisa ser verificada. Isso deve ser feito na camada de domínio ou na camada de acesso a dados ou em ambas?

brigado, Daryn

questionAnswers(4)

yourAnswerToTheQuestion