2015-04-09 19:09:49 +00:00
---
layout: wiki
title: Modularity And PBO Structure
2015-04-12 12:42:49 +00:00
group: development
2015-04-09 19:09:49 +00:00
parent: wiki
order: 4
---
### Modularity
Main principles:
- As much stuff as possible should be modular
2015-04-17 15:42:03 +00:00
- Strive to make as much stuff as possible run-time togglable. Adding/removing PBOS would still be requiring to toggle any feature relying on config changes.
2015-04-09 19:09:49 +00:00
### PBO Structure
Main principles:
- Try to keep single module dependencies as much as possible
2015-04-17 17:10:41 +00:00
- Interaction would be the requirement for most modules.
- Anything that is 100% config should require Common and not Interaction.
2015-04-09 19:09:49 +00:00
```
2015-04-17 17:10:41 +00:00
Main -> Common -> OptionsMenu -> Interaction -> Most things
2015-04-09 19:09:49 +00:00
Main -> Common -> Config things
2015-04-17 15:45:10 +00:00
Main -> Common -> 3D Models |
2015-04-17 17:10:41 +00:00
Interaction | -> Feature
2015-04-09 19:09:49 +00:00
```