在sapui5编程中处理松散耦合方式的最佳方法是什么?

2020-08-19 17:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我的自定义应用程序开发中,我有一个控制器,该控制器具有超过1000多行代码。 我想从我的主控制器中分离出某些逻辑/实现。 尤其是服务电话,价值帮助实施等。

我遵循的方法:

我创建了新控件(例如ServiceCall.js),并将ServiceCall.js导入了我的父控制器。

新控制文件:ServcieCall.js:

 sap.ui.define([
 " ./BaseController",
 " sap/m/MessageToast"

 ],函数(BaseController,MessageToast){
 "使用严格";
 var确认对话框;
 var oData;
 var i18nModel;
/**
 * ServiceCall.js是一个控制文件,用于将创建逻辑与
 * MainController。
 */
 返回{

 callCreateGroupFragment:函数(oCoreControl,that,sParameter){


 }



 };
 }); 

在ServiceCall.js中定义并实现所需的方法。

然后在我的父控制器中,我只使用 ServiceCall.methodname(arguments)

调用了ServiceCall控制方法。
 CreateGroup.callCreateGroupFragment(oCoreControl,this," actual"); 


这是正确的方法还是最好的方法?

谢谢

问候

JK。


         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我的自定义应用程序开发中,我有一个控制器,该控制器具有超过1000多行代码。 我想从我的主控制器中分离出某些逻辑/实现。 尤其是服务电话,价值帮助实施等。

我遵循的方法:

我创建了新控件(例如ServiceCall.js),并将ServiceCall.js导入了我的父控制器。

新控制文件:ServcieCall.js:

 sap.ui.define([
 " ./BaseController",
 " sap/m/MessageToast"

 ],函数(BaseController,MessageToast){
 "使用严格";
 var确认对话框;
 var oData;
 var i18nModel;
/**
 * ServiceCall.js是一个控制文件,用于将创建逻辑与
 * MainController。
 */
 返回{

 callCreateGroupFragment:函数(oCoreControl,that,sParameter){


 }



 };
 }); 

在ServiceCall.js中定义并实现所需的方法。

然后在我的父控制器中,我只使用 ServiceCall.methodname(arguments)

调用了ServiceCall控制方法。
 CreateGroup.callCreateGroupFragment(oCoreControl,this," actual"); 


这是正确的方法还是最好的方法?

谢谢

问候

JK。


付费偷看设置
发送
4条回答
宇峰Kouji
1楼-- · 2020-08-19 18:17

我过去在UI5上遇到过同样的问题,并提出了以下建议:

https://blogs.sap.com/2019/12/27/ui5-advanced-programming-model-overview-ui5con-2019/

祝您阅读愉快,并分享您的看法!

大多数文件不超过200行,但是根据项目的不同可以有所不同,并且所有内容都清晰易懂。 Hoot会帮助您!

95年老男孩
2楼-- · 2020-08-19 18:09

谢谢。

haha101010
3楼-- · 2020-08-19 18:24

首先,感谢您正在尝试对代码进行模块化。 但也要注意,与单个文件相比,要加载多个文件。 借助组件预加载文件,文件的加载得到了改善,因此仅当它具有明显的好处时才去耦,特别是在重用或维护方面。

天桥码农
4楼-- · 2020-08-19 18:08

感谢 Sharath M G 提出您的意见。

我没有添加component-preload.js,而是在应用程序描述符中声明了依赖库。 是一样的还是可以在Component-preload.js中添加什么?

谢谢

奖励,

JK。

一周热门 更多>