Case study
This section expands on the object-oriented design of our example, iris classification. We've been building on this in the previous chapters, and we'll continue building on it in later chapters. In this chapter, we'll review the diagrams created using the Unified Modeling Language (UML) to help depict and summarize the software we're going to build. We'll move on from the previous chapter to add features for the various ways of computing "nearest" for the k-nearest neighbors algorithm. There are a number of variations for this, and it demonstrates how class hierarchies work.
There are several design principles that we'll be exploring as this design becomes more and more complete. One popular set of principles is the SOLID principles, which are:
- S. Single Responsibility Principle. A class should have one responsibility. This can mean one reason to change when the application's requirements change...