HI,我开始开发Web应用程序并决定使用Vaadin + Java EE来实现可重用的业务逻辑。我知道Vaadin有MVP设计模式,但是如何创建良好的类层次结构,在一个MyApplication.java中编写所有内容,或者创建自己的Button类或者在一侧创建Listener,在其他方面创建UI组件,以及如何将它与MVC设计结合起来Servlet规范的模式。
我是零开发项目的初学者,请帮忙!
答案 0 :(得分:1)
在Vaadin中,一个好的面向对象方法是将UI逻辑拆分为实现单个应用程序UI的自定义组件,并最大限度地提高可重用性。
继承CustomComponent并在那里构建用户界面并在那里添加所有事件处理程序。仅发布逻辑API。这同样适用于事件。例如:OrderEditor类使用setOrder(Order)和getOrder()等函数扩展CustomComponent。订单是您的商务舱。构建用于操作Order对象的UI。 (可选)在服务API中调用saveOrder(Order)或发送OrderChanged事件以在其他地方处理。
还有人认为CustomComponent与Layout类没有太大区别。这意味着扩展它们而不是CustomComponent不应该有很大的不同。但是,这里的要点是,您正在使用逻辑业务API编写逻辑UI部分 - 仅发布少量的Vaadin API,以便您操作组件的内部实现。