davethieben:Take my billing example. Would you call that "Application" or "Domain" logic? Or rather, where would you put it in an MVC model?
I would need some more details about your system to be able to answer that in any constructive way. Are you building MVC systems with your "lump of business rules" or are you building 3-tier systems? Cause they're not the same. 3-tier has been overly prevalent for a long time. MVC has only made a recent comeback (in the mainstream that is... I know lots of people have been building MVC stuff the whole time). Business rules/logic is, in my opinion, specific to 3-tier. Or it has at least been morphed by 3-tier to have a meaning that doesn't really fit MVC anymore (I don't have my GoF book handy to make a quick perusal to see if they used that term when defining MVC back then). Semantics are semantics, but MVC has some very clear guidelines on what C really means, and what M really means. I have my labels for that, and others may like them or not (that's semantics) but I'm just applying my labels to what this application design pattern says to do. I can change my terminology to Controller Logic and Model Logic, but they will still have the same attending definitions.
Controllers control your application.
The Model maintains state.
Everything else is just elaborations on what those simple (maybe overly simplified) points really mean, or how to apply them.