我有一个应用程序,其中包含几个小部件,这些小部件由其他小部件组成
为此,当我想使用演示者的某些内容时,我必须这样做:
getView()getWdigetA()getWidgetB()getWidgetC()的setValue( “例如”);。。。。
答案 0 :(得分:3)
听起来你正在做与MVP完全相反的事情。使用MVP,您有一个代表您的数据的模型,负责格式化数据的演示者(到语言环境,i18n等),以及您的视图,它们是真正的gui小部件。
因此,如果您想设置一个值,就不会执行:
getView().getWdigetA().getWidgetB().getWidgetC().setValue("example");
你会改为:
getModel().setSomeProperty("example");
你可以看到哪个更简单。应用MVP可以进行大量的初始设计,思考和架构。但是,一旦你进行了设置和工作,它在简单性和维护方面确实有所不同。
这是一篇关于MVP应用于JDialog的有用帖子,答案很好地解释了这些方面:Applying the MVP pattern to JDialogs