Im just done with my custom MVP framework on Winforms. From my experience I can clearly identify the following sub-projects for any MVP implementation
- Model Project
- View Interfaces Project
- Presenter Interfaces Project (It can sit along with the view interfaces as well)
- Presenter Implementation Project
- View Implementation Project (This is where your Winforms/WPF/ASP.NET stuff goes)
- Application Controller (This is an important and often overlooked aspect of the MVP. It is responsible for starting the entire framework including the application itself. It also manages cross presenter communication and navigation)
- Application Navigator (The navigator dishes out the concrete views and presenters when demanded by the application controller)