Unbreakable Domain Models
Data Mappers (like Doctrine2) help us a lot to persist data. Yet many projects are still struggling with tough questions: Where to put business logic? How to protect our code from abuse? Where to put queries, and how test them?