Web Dynpro中除了视图控制器、窗口控制器和组件控制器,在Web Dynpro工程的目录中还能看到自定义控制器(Custom Controller)。相对而言,视图控制器仅用于界面显示以及一些界面属性预设的控制,与模型的数据交互完全地交给自定义控制器,这样才能算的上是一个好的MVC设计。而对于组件控制器来说,自定义控制器可以算是同门兄弟,因为自定义控制器可以实现组件控制器的一些主要功能,每当创建一个自定义控制器,它的设计模式也与上一节中提到的组件控制器的标准类相同;如果将自定义控制器看作通用的控制器,那么组件控制器就是通用控制器中最特殊的一个,如图3-206所示。
图3-206 自定义控制器
在实际的项目实施过程中,自定义控制器的目的是用于对Web Dynpro模型的处理。在Web Dynpro中使用自定义控制器还有以下两个好处:一方面,NWDS提供了一些模板向导来处理各种各样的模型,同时通过向导能够自动生成自定义控制器对于特定模型的调用方法及具体代码;另一方面,对于Web Dynpro中非常复杂的逻辑处理,可以通过不同的自定义控制器进行模块化管理,也有利于后期的代码维护和运维交接。
比较常见的3种Web Dynpro工程结构如下。(www.daowen.com)
1)视图-窗口-应用程序:最精简的Web Dynpro模型,在视图中定义界面,通过窗口关联相应的应用程序即可运行,也可视图控制器或组件控制器中添加代码进行逻辑处理。
2)模型-自定义控制器-视图-窗口-应用程序:需要处理外部数据源时,整个架构会加入特定的自定义控制器进行逻辑处理。
3)模型-自定义控制器-组件控制器-其他组件-视图-窗口-应用程序:这是最为复杂的Web Dynpro程序的模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。