Exercises
Before diving into exercises for each design pattern, take a moment to add the os
and pathlib
calls to implement the methods for the File
and Folder
objects in the section on The Composite pattern. The copy()
method on File
will need to read and write the bytes of a file. The copy()
method on Folder
is quite a bit more complicated, as you first have to duplicate the folder, and then recursively copy each of its children to the new location. The examples we provided update the internal data structure, but don't apply changes to the operating system. Be careful about testing this in isolated directories. You don't want to accidentally destroy important files.
Now, as in the previous chapter, look at the patterns we've discussed and consider ideal places where you might implement them. You may want to apply the Adapter pattern to existing code, as it is usually applicable when interfacing with existing...