I'm dabbling with the MVP design framework, and I currently have my solution set out as follows:
Project: MODEL Contains: Concrete object class, DataRetrieval class, IDataRetrieval interface
Project: PRESENTER Contains: Presenter class, IView interface
Project: VIEW Contains: View class, Program class
I've been revisiting this solution when I can, but now I can't remember why I've got the interfaces distributed as they are. It doesn't seem right. I tried the following:
- Move the interfaces into the relevant project for the classes that implement them.
- Move both interface to the presenter class.
Making either of these changes is going to require a little work, so I just wondered if either answer is better than the other (or perhaps both are very, very wrong :))
If it matters, this is designed in C#.
I'd love to hear your opinions!
Andy