Next / Previous / Contents / Shipman's homepage

6.1. Discarded approaches

The first cut at an overall data structure was a list named yearList containing YearRow instances. Each YearRow would be a container for BirdNoteSet instances, one per valid month.

However, there are certain things we need to know about the months, such as the month number (e.g., '04'). So the MonthCell class was invented, with an instance holding one BirdNoteSet and ancillary information such as the month number and the file name of the month page. Each YearRow would then be a container for MonthCell instances, one per valid month.

The next problem was connecting up the navigation links between month pages. Clearly, when rendering a month page, we must know the URL of the Previous month page (if any) and the Next month page (if any). However, how does the MonthCell instance know these URLs? Three approaches were considered: