Software Design
Software design — Focus on the “Overview” and “Design Concepts” sections.
Refactoring — Be able to explain the purpose of refactoring a software system.
Software design patterns — Focus on the introduction, the “History” and the individual patterns listed below.
No Silver Bullet — This entire paper is work reading, but focus on the questions below.
Design Modeling
UML Class Diagrams
Technology Stack
Managing State — Read the intro section on the nature of state in React apps, and then study the following (sub-set of the) issues discussed in this chapter. Be able to do the following, using the hyperlinks embedded in the chapter for more information as needed.
useState
hook
is used for declarative programming in
React.Expo Router — Read through the following (sub-set of the) sections on routing (aka navigating) between application screens in Expo, and be able to do the following.
What should be in params — One common issue with application state in Expo/ReactNavigation is sharing state between screens. Study this discussion of best practices and be able to:
This article suggests using React Query to manage global
state. Instead, we’ll be using the
useContext
hook as discussed in the
managing state tutorial (see above). Your project app
could warrant the additional complexity of other
solutions (e.g.: Mobx; Redux), which we’ve skipped
here; you can consider those later, as needed.