Architectures and design patterns

Practice for Week 6

The content this week was about design, rather than code. The tutorial does not have worked-through activities like previous weeks. Please spend some time reflecting on your progress so far.

Please open a project that you have created yourself and browse through the code.

For each class in your project, decide:

  1. Which layer does the class belong to?
  2. What would need to be changed if you used a different data store (e.g., you'll use JPA instead of JDBC)?
  3. What would need to be changed if you created a mobile or console interface?
  4. How could you improve the separation into layers?

In the deeper study, a number of design patterns were mentioned. Do you recognize any of these design patterns in your code?