Когда я столкнулся с этой проблемой, у меня есть созданные классы, которые имеют только свойства. Может быть Employee
, Customer
, Product
, что угодно. Эти классы не должны ссылаться на какой-либо другой проект, поэтому несколько проектов могут ссылаться на них.
Методы, принадлежащие этим объектам (Employee
, Customer
, Product
), затем переходят в свои собственные классы в других проектах.
Одна ситуация, с которой я часто сталкивался, - это трехуровневое приложение - уровень представления, бизнес-уровень и уровень доступа к данным. Я хочу, чтобы DAL извлекал данные и заполнял объект Employee, который возвращается в BLL. Если класс Employee находится в BLL и имеет как свойства, так и методы, то нет простого способа заполнить объект Employee в DAL и вернуть его в BLL - потому что BLL должен иметь ссылку на DAL, поэтому DAL, в свою очередь, не может ссылаться на BLL. Создание отдельного проекта с классами только для свойств (Employee
, Customer
, Product
) является одним из способов решения этой проблемы.