Summary
In this chapter, we just touched upon SOLID software design principles and the singleton, factory, adapter, and observer design patterns. There are dozens of other principles and patterns. Design principles should guide your everyday coding, and design patterns offer solutions to design problems. Both are applicable to any language.
Next up, we will be looking at documenting and testing the code that you write.