Case study
For this case study, we'll try to delve further into the question, "when should I choose an object versus a built-in type?" We'll be modeling a Document
class that might be used in a text editor or word processor. What objects, functions, or properties should it have?
We might start with a str
for the Document
contents, but in Python, strings aren't mutable (able to be changed). Once a str
is defined, it is forever. We can't insert a character into it or remove one without creating a brand new string object. That would be leaving a lot of str
objects taking up memory until Python's garbage collector sees fit to clean up behind us.
So, instead of a string, we'll use a list of characters, which we can modify at will. In addition, a Document ...
Get Python: Master the Art of Design Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.