We are working on ASP.NET webforms application developed using WCSF (MVP pattern). In the application, there is a search screen that allows the user to enter some fields and display the results.
We have segregated the functionality into user controls and each user control has its own view and presenter.
Search -> It consists of search fields along with submit button. It contains validations inside the presenter. After the page is validated, it raises the custom event.
Search criteria -> Contains DataList control to display the readonly search criteria by subscribing to search event.
Search results -> Communicates with controller and binds the grid by subscribing to search event. It also contains sorting and all grid related events.
Since each control has its own controls and behavior following SOLID principles, views and presenters are thin and testable. Also, it increased the productivity by facilitating developers to be able to work on tasks independently.
But on the other end, we are thinking whether we over-engineered and increased the complexity by introducing the user controls, custom events, etc. for this simple functionality?