Case Study
Unlocking the potential of @dataclass and immutable named tuples in the "botanist and user" case study.
We'll cover the following
Let’s 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, leading 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.
Logical model
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:
Get hands-on with 1200+ tech skills courses.