I'm writing a desktop app that could be used to manage a dance academy. My Core Data model contains such entities as Student, Teacher, Class, Invoice, etc along with the various relationships between them.
My planned UI consists of a vertical split view with an iTunes-like OutlineView on the left hand-side. When you click on the "Students" item in that outline view, the contents of the right-hand panel get swapped in from the ManageStudents NIB. Likewise, if you click on the "Invoices" item in the outline view, the current view will be replaced with the ViewInvoices view. Fairly simple, yes?
My big dilemma is whether to go document-based, or not? All my reading suggests that that would be a good choice if the user has multiple instances of entities open at a time. That isn't the case here - there would only ever be one instance of the main window open at any point in time.
On the other hand, I can see so much benefit from the NSDocument-based examples I see (and to be honest, most examples I can see on the web appear to be document-based). If I were to go down this path, I am curious as to whether I would define a document type for each of my basic entities, or just one controlling document.
Any guidance would be gratefully received. Alternatively, pointers to somewhere that gives concrete advice on when NSDocument is/isn't appropriate (the "Document-Based Applications Overview" from Apple helpfully advises "Word processors and spreadsheet applications are two examples of document-based applications" - I was hoping for something a bit more insightful and relevant for other real-world applications)