In this chapter, we briefly talked about software design and a few basic design principles. We implemented a fully functional version of the board game Connect 4 using two approaches—traditional and TDD.
We analyzed both solutions in terms of pros and cons, and used a Hamcrest framework to empower our tests.
Finally, we concluded that good design and good practices can be performed by both approaches, but TDD is a better approach.
For further information about the topics that this chapter covers, refer to two highly recommended books written by Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship and Agile Software Development: Principles, Patterns, and Practices.