Let's start by implementing a concrete component: A main screen, something every web application needs. Please keep in mind that there's not only one way of implementing main screens. The example presented here may be good for your own application, or it might inspire you to develop even more sophisticated implementations.
The main screen in this example consists of a header, a menu, and a working area where other components are shown when the user selects an option from the main menu. To the external world, this component should include the following functionality:
- Adding components to the header
- Adding components to the working area
- Adding options to the main menu
- Adding listeners to respond to menu actions
- Getting components from the working area and the header