C# N-уровневая архитектура - должен ли BL или уровень представления знать о пользовательских типах в DataLayer

Я создаю трехуровневое решение, состоящее из стандартных проектов коробок: DAL, BLL, слой Presentation.

В моем DAL есть несколько пользовательских типов, таких как:

public class Clients 
{
public int Id {get;set}
public string Firstname {get;set;}
public string Surname {get;set;
} 

Каков наилучший подход для продвижения этого пользовательского типа вверх по стеку на уровень представления. Является ли обычной практикой BL и представление эталонных моделей из моего DAL? Или я должен смотреть на общие интерфейсы, чтобы BLL мог принимать / потреблять List <T> например?

1 ответ

После небольшой копки кажется, что DTO - мой лучший маршрут. Поэтому я создам новый проект для хранения пользовательских типов объектов, таких как бизнес-объекты. На этот проект будут ссылаться мои DAL, BLL и уровень представления.

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