As I have been learning about software development the last 2 years the more I learn, it seems the more gray areas I am running into. One gray area I have issues with right now is trying to decide how many layers an application should have. For example, in a WPF MVVM application what fashion of layering is ok? Is the following too separated? When I mention layering I mean creating a new class library for each layer.
- Presentation (View)
- View Model
- Business Layer
- Data Access
- Model Layer
- Utility Layer
Or for a non MVVM application is this too separated?
- Presenation
- Business
- Data Access
- Model Layer
- Utility Layer
Is acceptable to run layers together and just create folders for each layer? Any coloring of this gray area would be appreciated.