I am working on a diagram drawing application that is based on CoreAnimation framework. I have a common functionality set that includes: creating diagram objects, editing their geometrical properties, moving them around, etc. Each object is represented as a separate CALayer
(or a group of layers).
My application is also document-based which means I am following the design imposed by Cocoa for document management.
Here is an example of what the application looks like:
image http://guitar.rizo.me/views/main.view/image3.png
Although I do understand the fundamental principles of how the things should work I can't figure out how to make a clear design separation between the model/view implementations.
Is
CALayer
class a view class or I can also view it as a model (since its properties are the only part of the application's data)?What would be the ideal organization for such an application given the document-based architecture?
I can't see any clean way to solve this design problem, what would you recommend?
Thanks in advance.