Deciding the data structure
Sticking to the model first philosophy, let's spend some time on deciding the appropriate data structure or model for the program.
The data structure of the audio player is fairly simple. All that we expect of the model is to keep a track of playlists. The main data then is a list called play_list
, and the Model
class is then simply responsible for the addition and removal of items to and from the playlist.
We accordingly came up with the following Model
class for the program (see code 5.02
– model.py
):
class Model: def __init__(self): self.__play_list = [] @property def play_list(self): return self.__play_list def get_file_to_play(self, file_index): return self.__play_list[file_index] def clear_play_list(self): self.__play_list.clear() def add_to_play_list(self, file_name): self.__play_list.append(file_name) def remove_item_from_play_list_at_index(self, index): del self.__play_list...