Open UI5 源代码解析之1104:MenuItem.js
源代码仓库:
https://github.com/SAP/openui5
源代码位置:src\sap.ui.commons\src\sap\ui\commons\MenuItem.js
MenuItem.js文件深度分析
文件的直观定位
MenuItem.js是一个体量非常小的文件,但它在openui5这样的大型项目里并不轻。原因在于,它不是靠大段业务逻辑来体现价值,而是靠兼容层、类型入口、历史过渡桥梁这几种身份来发挥作用。把这个文件单独拿出来看,最容易产生一种错觉:它几乎没有实现代码,好像只是一个简单的继承声明。可是一旦把它放回整个项目,就会发现它像一颗接口转接头,虽然体积很小,却连接着旧的sap.ui.commons体系和较新的sap.ui.unified菜单体系。
如果把项目想象成一座持续扩建了很多年的大型机场,那么MenuItem.js很像老航站楼与新航站楼之间的一条联络通道。旅客可能不会把注意力集中在这条通道本身,因为它既不炫目,也不承担最终目的地功能;但如果没有它,很多原本建立在老航站楼基础上的流程就无法平滑迁移到新航站楼的基础设施上。这个文件在当前项目中的作用,恰恰就是让旧代码仍然可以用熟悉的sap.ui.commons.MenuItem名义工作,同时把真正能力交给sap.
