For example, when you have the typical and highly interconnected
University, Student, Professor, Course, Exam kind of model; I would
implement all these classes separately from Pier. And then you have
different structure subclasses that delegate to your complex domain
model. So you'd probably had a
- a university structure that would delegate to one University
- a person structure, that would delegate to one Student or Professor
- a course structure, that would delegate to one Course and the
exams in that course
Thanks again for the help. I understand the delegate model, but I'm still concerned about the inherent duplication of the delegates mirroring the model objects.
In your example wouldn't there be collections of custom Pier structures so that there would be at least one Pier structure for each University, Student, course and exam, assuming that it was possible to use Pier to navigate to each of the model objects. Perhaps this is a non-issue, but I'd be concerned about keeping the delegates and delegees in sync.
Would combining the approaches work? The opening pages would use Pier to allow easy updating, however links to courses, students, exams etc would use procedural navigation code feeding off the model, and finally Pier could be used within the leaf nodes to allow courses, students etc to have wiki structured content. Ideally all bookmarkable, and the model would capture the wiki content created at the leaf nodes. Perhaps I'm making it more complicated then it needs to be?