# leenalmahthi/csharp-code-maze- architecture

> Architecture diagram of the GitHub repository leenalmahthi/csharp-code-maze-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/leenalmahthi/csharp-code-maze-
- Repository: https://github.com/leenalmahthi/csharp-code-maze-

## Overview

This repository is a set of standalone C# learning examples, not a single application workflow. The demonstrated workflow is to run an individual console program and observe a language feature, such as object construction, value equality, or inheritance. The graph groups the lessons by concept and shows only calls and instantiations visible in the excerpts. Other README topics, including collections, LINQ, async/await, and design patterns, have no corresponding lesson files in the supplied tree, so they are not represented as implemented subsystems.

Main entry points: [`09-abstract/Program.cs`](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/Program.cs) (Abstract Demo), [`06-Sealed/program.cs`](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/program.cs) (Sealed Demo), [`09-abstract/car.cs`](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/car.cs) (Abstract Car), [`02-PartialClass/Program.cs`](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/Program.cs) (Partial Class Demo)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_types["Types and Values"]
  node_type_demo["Struct Demo<br/>[Program.cs]"]
  node_partial_demo["Partial Class Demo<br/>[Program.cs]"]
  node_person["Person Parts<br/>[person_1.cs]"]
  node_person_part2["Person Parts<br/>[person_2.cs]"]
end

subgraph group_construction["Object Construction"]
  node_constructor_demo["Constructor Demo<br/>[Program.cs]"]
  node_ch_constructor["Ching Constructor"]
  node_overload_constructor["Overloaded Constructors"]
  node_initializer_demo["Initializer Demo<br/>[program.cs]"]
  node_initializer_car["Car Model<br/>[car.cs]"]
end

subgraph group_class_behavior["Class Behavior"]
  node_readonly_demo["Readonly Demo<br/>[program.cs]"]
  node_readonly_car["Readonly Car<br/>[car.cs]"]
  node_sealed_demo["Sealed Demo<br/>[program.cs]"]
  node_sealed_car["Car Base Class<br/>[car.cs]"]
  node_sealed_bmw["Sealed BMW<br/>[Bmw.cs]"]
  node_static_demo["Static Demo<br/>[Program.cs]"]
  node_static_helper["Static Helper<br/>[ft_static.cs]"]
  node_abstract_demo["Abstract Demo<br/>[Program.cs]"]
  node_abstract_car["Abstract Car<br/>[car.cs]"]
  node_abstract_bmw["BMW Implementation<br/>[Bmw.cs]"]
  node_porsche["Porsche Implementation<br/>[porsche.cs]"]
end

subgraph group_data_models["Data Models"]
  node_record_demo["Record Demo<br/>[Program.cs]"]
end

node_learner(("Learner"))

node_learner -.->|"runs example"| node_type_demo
node_learner -.->|"runs example"| node_partial_demo
node_learner -.->|"runs example"| node_constructor_demo
node_learner -.->|"runs example"| node_initializer_demo
node_learner -.->|"runs example"| node_readonly_demo
node_learner -.->|"runs example"| node_sealed_demo
node_learner -.->|"runs example"| node_static_demo
node_learner -.->|"runs example"| node_record_demo
node_learner -.->|"runs example"| node_abstract_demo
node_partial_demo -->|"instantiates"| node_person
node_initializer_demo -->|"instantiates"| node_initializer_car
node_readonly_demo -->|"instantiates"| node_readonly_car
node_sealed_demo -->|"instantiates"| node_sealed_car
node_sealed_demo -->|"instantiates"| node_sealed_bmw
node_sealed_bmw -->|"inherits"| node_sealed_car
node_static_demo -->|"calls"| node_static_helper
node_abstract_demo -->|"instantiates"| node_porsche
node_abstract_demo -->|"instantiates"| node_abstract_bmw
node_abstract_demo -->|"calls inherited methods"| node_abstract_car
node_abstract_bmw -->|"inherits"| node_abstract_car
node_porsche -.->|"inherits"| node_abstract_car

click node_type_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/01-TypeClass/Program.cs"
click node_partial_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/Program.cs"
click node_person "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/person_1.cs"
click node_person_part2 "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/person_2.cs"
click node_constructor_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/Program.cs"
click node_ch_constructor "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/chingConstructer.cs"
click node_overload_constructor "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/overloadConstructer.cs"
click node_initializer_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/04-Object-Initializers/program.cs"
click node_initializer_car "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/04-Object-Initializers/car.cs"
click node_readonly_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/05-Readonly/program.cs"
click node_readonly_car "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/05-Readonly/car.cs"
click node_sealed_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/program.cs"
click node_sealed_car "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/car.cs"
click node_sealed_bmw "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/Bmw.cs"
click node_static_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/07-Static/Program.cs"
click node_static_helper "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/07-Static/ft_static.cs"
click node_record_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/08-Record/Program.cs"
click node_abstract_demo "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/Program.cs"
click node_abstract_car "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/car.cs"
click node_abstract_bmw "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/Bmw.cs"
click node_porsche "https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/porsche.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_type_demo,node_partial_demo,node_person,node_person_part2 toneBlue
class node_constructor_demo,node_ch_constructor,node_overload_constructor,node_initializer_demo,node_initializer_car toneAmber
class node_readonly_demo,node_readonly_car,node_sealed_demo,node_sealed_car,node_sealed_bmw,node_static_demo,node_static_helper,node_abstract_demo,node_abstract_car,node_abstract_bmw,node_porsche toneMint
class node_record_demo toneRose
class node_learner toneIndigo
```

## Components

### Types and Values

- [Struct Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/01-TypeClass/Program.cs): `01-TypeClass/Program.cs`
- [Partial Class Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/Program.cs): `02-PartialClass/Program.cs`
- [Person Parts](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/person_1.cs): `02-PartialClass/person_1.cs`
- [Person Parts](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/02-PartialClass/person_2.cs): `02-PartialClass/person_2.cs`

### Object Construction

- [Constructor Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/Program.cs): `03-Constructors/Program.cs`
- [Ching Constructor](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/chingConstructer.cs): `03-Constructors/chingConstructer.cs`
- [Overloaded Constructors](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/03-Constructors/overloadConstructer.cs): `03-Constructors/overloadConstructer.cs`
- [Initializer Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/04-Object-Initializers/program.cs): `04-Object-Initializers/program.cs`
- [Car Model](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/04-Object-Initializers/car.cs): `04-Object-Initializers/car.cs`

### Class Behavior

- [Readonly Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/05-Readonly/program.cs): `05-Readonly/program.cs`
- [Readonly Car](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/05-Readonly/car.cs): `05-Readonly/car.cs`
- [Sealed Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/program.cs): `06-Sealed/program.cs`
- [Car Base Class](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/car.cs): `06-Sealed/car.cs`
- [Sealed BMW](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/06-Sealed/Bmw.cs): `06-Sealed/Bmw.cs`
- [Static Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/07-Static/Program.cs): `07-Static/Program.cs`
- [Static Helper](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/07-Static/ft_static.cs): `07-Static/ft_static.cs`
- [Abstract Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/Program.cs): `09-abstract/Program.cs`
- [Abstract Car](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/car.cs): `09-abstract/car.cs`
- [BMW Implementation](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/Bmw.cs): `09-abstract/Bmw.cs`
- [Porsche Implementation](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/09-abstract/porsche.cs): `09-abstract/porsche.cs`

### Data Models

- [Record Demo](https://github.com/leenalmahthi/csharp-code-maze-/blob/main/08-Record/Program.cs): `08-Record/Program.cs`

### Other components

- **Learner**

## Connections

- Learner → Struct Demo: runs example
- Learner → Partial Class Demo: runs example
- Learner → Constructor Demo: runs example
- Learner → Initializer Demo: runs example
- Learner → Readonly Demo: runs example
- Learner → Sealed Demo: runs example
- Learner → Static Demo: runs example
- Learner → Record Demo: runs example
- Learner → Abstract Demo: runs example
- Partial Class Demo → Person Parts: instantiates (evidence: `02-PartialClass/Program.cs`)
- Initializer Demo → Car Model: instantiates (evidence: `04-Object-Initializers/program.cs`)
- Readonly Demo → Readonly Car: instantiates (evidence: `05-Readonly/program.cs`)
- Sealed Demo → Car Base Class: instantiates (evidence: `06-Sealed/program.cs`)
- Sealed Demo → Sealed BMW: instantiates (evidence: `06-Sealed/program.cs`)
- Sealed BMW → Car Base Class: inherits (evidence: `06-Sealed/Bmw.cs`)
- Static Demo → Static Helper: calls (evidence: `07-Static/Program.cs`)
- Abstract Demo → Porsche Implementation: instantiates (evidence: `09-abstract/Program.cs`)
- Abstract Demo → BMW Implementation: instantiates (evidence: `09-abstract/Program.cs`)
- Abstract Demo → Abstract Car: calls inherited methods (evidence: `09-abstract/Program.cs`)
- BMW Implementation → Abstract Car: inherits (evidence: `09-abstract/Bmw.cs`)
- Porsche Implementation → Abstract Car: inherits
