Skip to content

Commit 4665bda

Browse files
committed
docs: Document projects, assemblies, namespaces
1 parent d279e38 commit 4665bda

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Docs/Architecture.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,22 @@ The threading in Open Rails has two key threads working together (Render and Upd
2929
- Web Server process
3030
- Handle all web and API requests
3131

32+
## Projects, assemblies, namespaces
33+
34+
Open Rails is made up of several component projects which are organised into subdirectories with the following naming pattern:
35+
36+
- `Orts.Component\Orts.Component.csproj` (project file)
37+
- `Orts.Component.dll` (assembly name)
38+
- `Orts.Component` (default namespace)
39+
40+
The namespaces used within code files should match the directory structure like this:
41+
42+
| *Filename* | *Namespace*
43+
|---|---|
44+
| `Orts.Component\File.cs` | `Orts.Component` |
45+
| `Orts.Component\Section\File.cs` | `Orts.Component.Section` |
46+
| `Orts.Component\Section\Subsection\File.cs` | `Orts.Component.Section.Subsection` |
47+
3248
## Simulator object relationships
3349

3450
This tree is a summary of the important object relationships (aggregation) inside the simulation. Each entry is a class whose instances can be accessed from the parent item.

0 commit comments

Comments
 (0)