Areas - Tarostar/SimpleNetBlog GitHub Wiki

To divide the code into modules it can be organised with sub-folders, e.g.:

Controllers->Module1 Controllers->Module2 Models->Module1 Models->Module2 Views->Module1 Views->Module2

The drawback is that we then need a sub-folder for each top-level folder.

A more elegant way is to use Area where all resources for a module are kept in an area, e.g.:

Areas->Admin->Controllers Areas->Admin->Models Areas->Admin->Views

Shared resources are put in the top level folders (i.e. Controllers, Models and Views).

Namespaces are used to avoid naming conflicts between controllers.

This article is a brief introduction to Areas.