- Logically: If… then… else. Decision-making.
- Procedurally: Things happening in a specific order.
- Ahead: Planning, extensibility, array resizing, using a linked list instead of a static list, etc.
- Abstractly: Class definitions, schematics, encapsulation.
- Concurrently: Saving time by doing lots of things at once.
- Recursively: Exploiting repeated patterns.