-
Book Overview & Buying
-
Table Of Contents
Python Object-Oriented Programming - Fourth Edition
By :
In this chapter's case study, we'll revisit our design, leveraging Python's @dataclass definitions. This holds some potential for streamlining our design. We'll be looking at some choices and limitations; this will lead us to explore some difficult engineering trade-offs, where there isn't one obvious best approach.
We'll also look at immutable NamedTuple class definitions. These objects have no internal state changes, leading to the possibility of some design simplifications. This will also change our design to make less use of inheritance and more use of composition.
Let's review the design we have so far for our model.py module. This shows the hierarchy of Sample class definitions, used to reflect the various ways samples are used:
Figure 7.2: Class diagram so far
The various Sample classes are a very good fit with the dataclass definition. These objects have a number...