Em Ae
Em Ae

Reputation: 8704

.NET project design

It might be a very stupid question to most of us but I am totally unaware how a .NET project hierarchy should be ...

I have Java background and normally the project hierarchy is

+project-db-layer
+project-common
+project-db-api
+project-business-layer
+project-ui

Normally, I create 5 projects for a Java Solution (Thats the maximum, mostly i work with 3 projects as in Model-View-Controller hierarchy).

I am wondering, If someone can put up some guidelines here, or point me to some test online (i couldn't find a decent one) that how a project structure should be in .NET for a Desktop application.

P.S: Little background on the project. I am planning to make a .NET application based on .NET v 2 (since the audience i will be targeting to still owns WindowsXP with standard RAM). The desktop application would be DB oriented, keeping customers recrods, invoices, warehouse, stocks, purchases/sell etc.

It reminds me another question, based on my project is .NET a better choice?

Upvotes: 0

Views: 407

Answers (1)

Mitch
Mitch

Reputation: 22251

The project layout you have described sounds appropriate for the type of application you describe. The only reccomendation I would make is that you use the .Net convention of the Project name being used for the Namespace. You would, therefore, end up with the slightly changed list of projects:

  • Company.ProjectName.DbLayer
  • Company.ProjectName.Common
  • Company.ProjectName.DbApi
  • Company.ProjectName.BusinessLayer
  • Company.ProjectName.Ui

This is, of course, very loose guidance, and it does not apply universally, but it is the reccomendation I give to my developers.

Re: @stakx, I do agree, you may not wish to rule out newer versions of .Net. You may see performance improvements on newer versions. With those requirements, you may wish to avoid WPF, as it imposes a slightly higher set of requirements, but the requirements for .net2 are near identical for .net4 for a winforms application. The real consideration is whether the target framework will already be installed.

Upvotes: 1

Related Questions