HASSANHABIB

§ 2.5 — The Standard Team Practices

Solution and Project Structure

1 min read · chapter 9 of 15

Visual Studio utilizes a hierarchical project structure that allows developers to organize their code and resources in a logical and easy-to-navigate manner. At the top level, you have a solution that is a container for one or more projects. A project is the container for all of the files and resources that make up an application.

Projects in the Solution

A typical solution structure would look like this…

  |-- Taarafo.Core                              (API)
  |-- Taarafo.Core.Infrastructure.Build         (Console App)
  |-- Taarafo.Core.Infrastructure.Provision     (Console App)
  |-- Taarafo.Core.Tests.Acceptance             (xUnit Test Project)
  |-- Taarafo.Core.Tests.Build                  (xUnit Test Project)

Project Structure

A typical project folder structure would look like this…

Taarafo.Core
  |-- Brokers
        |-- DateTimes
        |-- Loggings
        |-- Storages
  |-- Models
        |-- Foundations
            |-- Posts
               |-- Exceptions
            |-- Comments
               |-- Exceptions
  |-- Migrations
  |-- Services
        |-- Foundations
            |-- Students
        |-- Processings
            |-- Students
        |-- Orchestrations
            |-- Students
  |-- Controllers

The above folder structure can also be carried over into the test projects to organise models and to group the various tests by Services\[Service Type]\[ServiceName]

This chapter lives on GitHub, where it is written in the open. Read the source or suggest a change.