Reorganizing the project
Now that we have some ideas of good project architecture, let's plan the project's reorganization. Let's list the possible workshop organization methods:
- By type
- By purpose
- By layer
- By convenience
The by type organization should be used for workshop nuts and bolts type components. Nuts and bolts are highly uniform components that have a different diameter, length, grade, and so on. We have a few good matches here, so let's list objects and interfaces that could be grouped this way:
- Motors
- Buildings
- Elevator controllers/drivers
The by purpose organization should be used for miscellaneous tools that have a common purpose. We have some good candidates for this style of organization, too:
- Transport planning (static/dynamic)
- The physical interface to an elevator
The by layer organization should be used for distinct architectural components that fit well within normal program logic. An example of this would be our physics layer, which is logically independent of other modules. The...