Bottom up programming is a lost Art form. I’ll try to list down the principles of it.
- Build Components one at a time, independently of all other components.
- Use the Component using a Component Shell.
- Test the Component using Automation.
3.1 Make Inputs / Outputs / Network / Sources / Sinks abstract.
3.2 Use a Module Loader to manage Component Location
- Model User Interface as Events so that they can be Simulated.
The advantages of a Component Shell are multifold.
1. In makes Develop / Interact cycle easy.
2. It makes Application Scripting possible from the Start.
3. It makes Testing stupid.