Я хотел бы разделить свое приложение на три уровня, чтобы использовать сервисный уровень. Я также хотел бы использовать одну и ту же модель домена как на уровне пользовательского интерфейса, так и на уровне бизнес-уровня, потому что я контролирую оба конца.
Это имеет смысл, но я также хотел бы использовать Active Record Castles для уровня доступа к данным. Из-за этого я больше не могу ссылаться на свою модель домена в своем пользовательском интерфейсе, потому что объекты myActive Record, например «Клиент и заказ», теперь содержат логику, которая взаимодействует напрямую с базой данных, а не через уровень обслуживания.
Каков наилучший способ обойти это? Есть ли простой способ разделить активные классы записей на классы репозитория и немые объекты передачи данных?