If I develop an application, I'll often use a project structure like this:
MyApp.DataAccess.Implementation MyApp.DataAccess.Contract MyApp.Business.Implementation MyApp.Business.Contract MyApp.CrossCutting.Implementation MyApp.CrossCutting.Contract MyApp.Application
For each layer I'll create two assemblies. One for the interfaces and one for the implementation itself. In the layer "CrossCutting" is everything like logging, entities, configuration... If the project is really big, I'll separate each component in the "CrossCutting" layer into a separate assembly. In the application layer, there's my console/ui/web project.
This project structure can be applied easy on bigger projects. But for small project I think that this is oversized. So, after some time searching with google, I found a simple structure for smaller projects.
Core Data Domain (or BusinessObjects) Services Utilities (or Helpers)
My problem with this structure is, I've no Idea what these layers represent. Can someone explain me these layers?