I am integrating Zend Framework and Doctrine 2, and I am discovering the Service layer.
Now I understand (am I wrong ?) that I have 2 architectures possible :
- A model, where classes contain domain logic, i.e. properties + getters/setters + complex methods
- A lightweight model, where classes contain properties + getters/setters and a Service layer, containing domain logic, and modifying the model classes
What are the pros/cons of each ?
It seems weird to me to lose OOP by putting domain logic as external to the model, so I don't understand why use a Service layer.