I would like to separate my application into three tiers to use a service layer. I would also like to use the same domain model in both the UI tier, and the business layer tier because I control both ends.
This makes sense, but I would also like to use Castles Active Record for the Data Access layer. Because of this I can not longer reference my domain model in my UI because myActive Record objects eg “Customer and Order” now contain logic which communicates directly the database instead of doing through the service layer.
What’s the best way around this? Is there any easy way to separate the active record classes into repository classes and dumb data transfer objects?