Jani Hartikainen has a new post to his blog today about why, in your framework-based applications, it's okay to have "fat controllers" instead of a service layer.
Here’s a counterpoint to the currently popular view of "fat controllers are bad", and the current fad of everyone and their cousin implementing service layers: You don’t need one. Fat controllers are okay too.
He starts by explaining the "why you don't need a service layer" part, mentioning that keeping it in the controller keeps things simple and keeps your code from having to go through extra hoops just to work correctly. He also points out that, just because he recommends "fat controllers" doesn't mean he's advocating code reuse. In fact, just the opposite:
It’s fine if you code your things in the controllers, but there comes a point when you should stop that. The moment you realize you’re duplicating your code, stop and refactor. This is one of the very basics of software engineering: Avoid duplication by creating functions and classes.