We have been playing with LittlevGL for a while and now need to create a GUI for our product. To keep things in line with the rest of our system we want to use the MVP (Model-View-Presenter) design pattern so that we can TDD all logic. We understand the precipices of MVP however there are a few elements that are not clear to us and would like input from others who have experience in this.
Is the ‘Model’ part of MVP really just ‘the rest of the system that does the work’ or is it its own layer that sites between the Presenter and the System?
What is the scope of a View? Within out team we cannot agree if the View should be an individual screen or page, or if it should be more granular than that. For example should a screen be split into many separate Views each handling one or two LittlevGL objects which are related? I can see that separating things out could give better reuse, but it does add its own complexity and I am not sure how much we would really want to reuse.
Any thoughts on this would be greatly appreciated.