I've been away from hands on development work for the past couple of years and focusing more on delivery management. I'm looking to get a couple of new projects ASP.NET MVC apps off the group and I'm getting back into doing some hands on work.
My question is around architectural approaches and how they might have changed since I've been away. In the past I would have taken a n-tier approach to the kind of systems I'm looking at so typically that would be made up with:
Web front end | Web controllers | Tasks | Domain model | Data access layer
The controllers would have been a very thin layer pushing data into the tasks layer which would push things into the data access layer. Everything would have been hooked together using dependency injection and would be as loosely coupled as possible.
Each layer would typically be a separate class library apart from the controllers and the web front end which would both be inside an MVC project.
Is that kind of approach still a standard one or have things shifted in the last couple of years? Any comments/recommendations etc. would be appreciated.