Case study
The previous chapters of the case study have contained a number of design patterns. We'll pick a variation on the model and walk through some of the patterns from this chapter and how they were applied.
Here's an overview of several parts of the application's classes. This is from the case study in Chapter 7, Python Data Structures:
Figure 12.12: The case study Logical view
This involves a number of patterns we've seen in this chapter. We'll start with the Hyperparameter
class, which is a Façade that includes two separate complex components, the classifier algorithm and the training data.
First, we'll look at the classifier algorithm. In Chapter 10, The Iterator Pattern, we saw how the classifier is itself a complex structure. We looked at three alternatives: k_nn_1()
, which had a naïve sort, k_nn_b()
, which used bisection, and k_nn_q()
, which used a heap queue. This exploration relied on several design patterns...