Creation of the contact list
- test driven development
- synchronize accesses to data holder (preventing data races)
- defensive copy of shared data
Test exceptions
Minor trick to ease the testing of code that should throw exceptions.
Singleton design pattern for the ContactList
- Implement a singleton
- Setting up test environment (
@BeforeEachannotation)
Wiring the backend
- have the contact list be updated on new messages
- test message handling logic by simulating message arrival
Implementing the View
- observer pattern to have the view react to model changes
README + Wrapping Up
- Shows how to add and typeset a README in the Markdown format