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.

Accordingly we came up with the following Model class for the program (see code 5.02model.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): ...

Get Tkinter GUI Application Development Blueprints - Second Edition 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.