MVC Model Implementation? <p>I am creating a simple application using the MVC design pattern where my model accesses data off the web and makes it available to my controllers for subsequent display. </p> <p>After a little research I have decided that one method would be to implement my model as a singleton so that I can access it as a shared instance from any of my controllers.</p> <p>Having said that the more I read about singletons the more I notice people saying there are few situations where a better solution is not possible.</p> <p>If I don't use a singleton I am confused as to where I might create my model class. I am not over happy about doing it via the appDelegate and it does not seem viable to put it in any of the viewControllers.</p> <p>any comments or pointers would be much appreciated.</p> <p><strong>EDIT_001:</strong></p> <p>TechZen, very much appreciated (fantastic answer as always) can I add one further bit to the question before making it accepted. What are your thoughts on deallocating the singleton when the app exits? I am not sure how important this is as I know quite often that object deallocs are not called on app teardown as they will be cleared when the app exits anyway. Apparently I could register the shared instance with NSApplicationWillTerminateNotification, is that worth doing, just curious?</p> <p>gary</p>