I am getting ready to start building a new web project in my spare time to bring to fruition an idea that has been bouncing around my head for a while.
I have never gotten down whether I am better off first building the model and then the consuming application or the other way around.
What are the best practices? What would you build first and why?
I imagine that in general the application should generally drive the model, however the application like many websites really doesn’t do much without the model.
For some reason I find it easier at times to think in terms of the model since the application is really just actions on the model. Is this a poor way of thinking about things?
What advantages/disadvantages does each option have?
When you’re building the whole application yourself, I would start with the user. What does the user want? What information do they need? That should drive the design of the application and model, not the other way round. When the model is designed first, there is a temptation to expose the user to it directly, which will rarely make sense.