Hi folks, i'm relatively new to this area of things although i have been using C# for many years. I have been trying to find a starting point for organizing my code for medium sized projects. What i am after is a relatively detailed example of how a software application solution would be organized in Visual Studio. For example if i worked for company CMP and had an application i wished to create named AppX, no doubt i would start with a solution named: CMP.AppX .. and then begin adding projects. I am aware that every situation would be different and would require different projects and namespaces, but i would like an example of how you guys would go about doing it and some reasons for your choices. eg:

CMP.AppX
CMP.AppX.Data
CMP.AppX.UI
CMP.AppX.UI.Desktop
CMP.AppX.UI.Web
CMP.AppX.Webservices
CMP.AppX.UnitTests
CMP.AppX.Reporting

...and how this would be achieved - what was a project and what was subdir in the project folder etc. Thanks in advance.

As you say, a lot of it is dependant on the app. If you have a huge system with modules, and reporting, and options, and potentially even client specific based chunks, and all that.. Id probably split the classes like you outlined above if not more so..

However, for general terms,

<company/codernickname>.<app> ..

I tend to have

core <- would be the GUI and front end related
classes.x group by function, so maybe db, controls, graphics
shared <- this one ive used a fair bit if Im using libraries or want functions to be available to other apps, so they are clearly the ones to use.

commented: Very nice organizational method +2
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.