How to organize a large project with solutions / projects / folders?

We are working on a very large project VS.

We want the project structure to “hint” developers at the logical components and design.

To do this, it is best:

  • One project with many subfolders and namespaces
  • Divide into several projects based on the logical grouping of classes. Keep all projects in one solution with solution folders.
  • Same as # 2, but has several solutions instead of one with subfolders.
+5
source share
4 answers

My projects are huge.

We separate each “module” in different assemblies, creating class libraries. Something like that:

Client.ProjectName (Solution)
    Client (Class Library)
        - SectionHandler...
        - ComponentModels...
        - Utilities...

    Client.Web (Class Library)
        - Handelrs
        - Extenders

    Client.Net (Class Library)
        - MailQueue

    Client.Blog.WebControls.UI (Class Library)
        - TopContent.ascx
        - PostsList.ascx

    Client.News.WebControls.UI (Class Library)
        - TopContent.ascx
        - PostsList.ascx

    Client.Website

Class Library Client.ProjectName .

:

Client
|- Framework
   |- Client
      |- files...
   |- Client.Web
      |- files...
   |- Client.Net
      |- files...
|- SolutionName
   |- Client.Blog.WebControls.UI
   |- Client.News.WebControls.UI
   |- Website

Client\Framework, . . Company, , , .

, :

, .

, DLL. .

+1

- , , .

( AKA) . , . , , , . , .

, , , , . ... , , ... , , . , , "" , , .

+1

, . , .

, eigther , .

0

"" . , , - . , , .

- , //. , .

, , .

Solution folders also mean that your solution is probably too large. Can you split your codebase into several solutions, each of which has a meaningful and verifiable output artifact? Decisions may depend on (proven) artifacts from other solutions, as well as in third-party libraries, etc.

You should also consider how VS projects and solutions compare with project detailing in your version control scheme and any branch / merge policies.

0
source

All Articles