I'd like to create a piece of software that has the functionality of a common written planner. To do this, it will have a Calendar. When planning the program, I became confused as to how I would implement the functionality of a Calendar.
I thought have a Calendar class that stores and array of Date objects, and each Date object contains event or task objects, and so on. But a Calendar has infinite dates, and of course I can't make an object for every date and store it in an array.
How would I go forward with the object oriented software design of a Calendar program. I am talking about software design and how to handle the data, not UI design. I am using Java, but these concepts are universal.