Which is the best design pattern for vaadin applications?


Recently I started to use the Vaadin framework and until now I was creating only small applications, but this is going to change and I will work on something bigger. Currently I am at the step where I should create the architecture of the application and for this reason I spent some time to search for the best design pattern for Vaadin, including a usage of EventBus.
There are many articles for the Model View Presenter (MVP) pattern, but I think this doesn’t fit because it has a big amount of boilerplate, all events (posted by the EventBus) must be handled by the presenter and after that it will call a method from the view which will update it. In my opinion, this is a big overhead and I can not find a reason to use it.

And now I’m wondering which pattern to use with the EventBus, can you share your comments and of course do you think that is the best way for implementation?

There is no “best design pattern” silver bullet that fits all use cases. Every pattern has its benefits and drawbacks. It’s about understanding what consequences each design decision has and deciding, if the tradeoffs are worth it. MVP gives you code reusability and testability, but also introduces complexity and overhead.

You should read the "
Is MVP a Best Practice?
" blog post written by our architect at Vaadin. Comments section also had good dicsussion about the topic.