理论教育 模型和自定义控制器的组合应用实例

模型和自定义控制器的组合应用实例

时间:2023-05-19 理论教育 版权反馈
【摘要】:图3-257 自定义控制器与组件控制器

模型和自定义控制器的组合应用实例

1.自定义控制器在使用模型过程中起到的作用

组件控制器其实是最特殊的一个自定义控制器,而一般的自定义控制器并不作为全局的控制与中转器,而是更多关系到后台服务,开发工具提供模型导入的向导并将模型结构转化为本地可识别的代理类,自定义控制器可以进一步地将模型的数据结构定义到上下文中,同时初始化接口结构数据并生成了调用接口的方法。换言之,通过配置生成的自定义控制器中,它的上下文包含了接口的输入/输出参数,它的控制器(类文件)中包含调用接口的方法,对上下文输入结构赋值,执行接口方法,最后通过上下文中的输出结构获取接口返回数据。

2.规范化地管理自定义控制器

事实上,自定义控制器与模型可以是多对多的关系,一个自定义控制器可以通过应用模板的方式(Apply Template)引用多个模型,同时一个模型根据接口方法的不同又可以创建多个自定义控制器,理论上这几种映射关联的方式都是可行的,但从开发设计的角度来说,尤其是考虑到良好的重用性与后期的维护,这样做并不符合规范。严格地来讲,一个自定义控制器对应一个模型,当模型中含有较多的接口方法时,比如WebService中有若干执行方法,那么自定义控制器中就含有多个接口调用方法;当模型中只含有一个方法时,自定义控制器就对应只有一个接口方法以及方法对应的输入/输出结构,如图3-256所示。这样做,如果接口结构变,不会影响到其他接口,同时项目开发或后期维护都比较清晰,便于修改。

978-7-111-58177-2-Chapter03-276.jpg

图3-256 自定义控制器与模型

3.模型与组件控制器的关系(www.daowen.com)

组件控制器在组件中起控制与中转的作用,视图与视图之间、视图与其他控制器之间的数据传递都是通过组件控制器进行,同样前台的UI在访问后台服务时也是通过组件控制器中的上下文进行传递。

控制器与控制器之间的数据传递与调用并不是都要经过组件控制器,实际上Web Dyn⁃pro在设计时并没有做这方面的硬性限制,但从系统设计的角度,以及从代码的重用与可维护性上来讲,需要遵循这样一种模式,即在本章最开始介绍的MVC模式。当把所有的应用逻辑都封装在组件控制器中,把基本的数据定义在上下文结构中时,就能体会到代码维护一致性的便利。

一般情况下,开发人员都会遵循这样一个流程:视图首先调用组件控制器中的方法,组件控制器引用自定义控制器并调用自定义控制器中与模型映射产生的方法,最后自定义控制器通过调用系统自动生成的模型客户端代理类来调用后台接口,同样视图、组件控制器和自定义控制器之间都可以通过上下文映射的方式实现数据的共享。在共享过程中,自定义控制器作为源结点,视图通过上下文中的输入参数为接口赋值,通过上下文中的输出参数获取接口的返回数据,如图3-257所示。

978-7-111-58177-2-Chapter03-277.jpg

图3-257 自定义控制器与组件控制器

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈