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 и уровень представления.