理论教育 应用场景中如何优化接口设计,避免过多自定义控制器?

应用场景中如何优化接口设计,避免过多自定义控制器?

时间:2023-05-19 理论教育 版权反馈
【摘要】:可能一些人会提到,开发人员是采用了同一个模型,但却分别创建了很多自定义控制器。实际的项目开发中应该从前期的接口设计着手,尽可能地让接口满足多样的需求,如充分地了解需求或预留一些备用字段等,同时还应该做好对接口结构变化的应对处理。

应用场景中如何优化接口设计,避免过多自定义控制器?

1.公共模型

根据项目的需求,接口的数量是有限的,但往往多个功能都会访问同一个接口。例如,通过登录ID从ECC端获取该人员的HR人员信息,这属于一个公共接口,所有的子应用在初始化时都会通过调用该接口来显示登录的用户信息。这样就会导致每一个功能开发人员都要创建针对同一接口的客户端代理(Model),带来了较多不必要的开发量,同时导致后期接口结构变化不易于维护。此时可以通过在公用DC中创建公共模型的形式,让所有的开发人员统一使用同一模型去调用接口,这样一方面降低了各自单独创建模型带来的工作量,另一方面即使后期接口发生变化,也只需要修改一个模型,方便了管理和维护。

可能一些人会提到,开发人员是采用了同一个模型,但却分别创建了很多自定义控制器。实际上正如上面提到的,如果该接口确实是公共接口,那就应该在公共DC中对接口进行封装,具体的方法就是在公共DC的组件中创建自定义控制器以及在它的组件控制器中封装调用接口的方法,并最终通过接口控制器和开发组件的公共部分声明给外部DC调用。这样实际上就是进一步地减少了功能开发人员接口调用的开发,省去了创建自定义控制器的过程,同时可以通过直接访问公共DC组件的方法来实现对外部系统服务的调用。(www.daowen.com)

2.接口变更

系统间调用接口时,往往会因为初期双方沟通、调研不足或没有合理预留有效字段造成接口的输入/输出参数不能够满足实际业务需求,这样会导致频繁的接口结构变化,进而影响到客户端接口的访问。实际上,服务端接口结构的变化对客户端接口调用来讲影响是很大的,有时候甚至会导致整个接口调用的重新开发,由此会带来较大的重复工作量。实际的项目开发中应该从前期的接口设计着手,尽可能地让接口满足多样的需求,如充分地了解需求或预留一些备用字段等,同时还应该做好对接口结构变化的应对处理。Web Dynpro的开发工具提供了“Reimport”重新导入模型的操作来使客户端的代理类与服务端同步,自定义控制器中的上下文也可以通过修改上下文映射使上下文结构与重导入的模型接口结构保持一致。

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

我要反馈