刚接触OSGI时,感觉开发受到很大的约束,你不能随便就引用其它Bundle的类,你也很难控制你的Bundle的启动的先后次序,于是,千方百计地在Manifest.mf里动脑筋,又是Import-Package,又是Bundle-Classpath的,搞搞DynamicImport-Package,又或者试图通过Import-Package引用被依赖的Bundle,来达到被依赖的Bundle能够比依赖它的Bundle先启动... ...。
当很多手段都用尽,应用得以顺利运行后,却发现做这么多工作,和以往非OSGI环境下的应用并没有得到什么模块化、动态化的好处,应用还是不能顺利地热插拔!这样做,何苦呢?
当时OSGI对应用开发带来的约束就是枷锁:你辛辛苦苦做下来的事和没做一样,吃力不讨好。
但通过对OSGI的了解,我发现当你将OSGI的约束看作是枷锁,并想努力去突破它的约束时,这个约束确实就是枷锁。
OSGI的约束不是为了让你努力去突破,去解决的,而是该用它作为工具,来管理好你开发出来的应用的依赖关系。如果你突破了OSGI的“约束”,那么你的应用也就不是基于OSGI的应用了。做OSGI的应用,你需要利用的正是OSGI的这些约束,而不是那些绕开,避开这些约束的技巧。
禅宗有个公案:一个人一心向佛,于是离开家人,远行求佛,路遇一高僧,就求教佛在何方?高僧跟他说,你现在赶紧回家里去,当你到家时,那个反穿鞋,披着被子来给你开门的,就是你要求的佛。于是,他立即往家里赶,赶到家里时,已是半夜时分,他母亲听到儿子回来,高兴得来不及穿好衣服,直接披着被子,反穿着鞋子赶来开门。
分享到:
相关推荐
CAD文件枷锁与去除枷锁工具.zip cad文件加密,去除与安上枷锁工具。
oppo枷锁工具包下载后按文件里教程操作
苹果ios枷锁工具
注册表枷锁
制度既是人类自我约束的枷锁,也是标志自律、妥协、宽容和尊严等文明理念的花环。制度是观察和理解人类经济活动或行为最重要的钥匙或范式。企业管理制度建设更是需要持续改进、不断完善,并随着企业发展而不断更改的。...
7z文件枷锁器dll 适合7z文件枷锁器dll 7z文件枷锁器dll
一个功能强大的VB文件夹枷锁,锁定功能。
很不错的,信息枷锁器,建议大家用用,保护你的隐私,呵呵,看看,赶快下载吧
创新思维需要破除的枷锁.pptx
Android 应用签名的枷锁与革新 概要 • Android 应⽤用签名简介 •签名对 Android ⽣生态的意义 •应⽤用签名的局限和⽣生态乱象 •既有解决⽅方案 • OASP: 救赎与⾰革新
黄金级枷锁
豆瓣读书:商业化的枷锁是自己的社区气质.docx
初中语文文摘人生人生的枷锁
初中语文文摘人生抛开纸枷锁
Angular挣脱舒适区的枷锁
营销残局破解:新任主管如何击碎消极文化的枷锁营销残局破解:新任主管如何击碎消极文化的枷锁.doc
创新思维需要破除的枷锁.ppt