最近對(duì)相對(duì)論的大無(wú)畏的批判好象又熱鬧起來(lái)了。既然批判當(dāng)然不是簡(jiǎn)單質(zhì)疑,而是滿嘴槍藥。比如干脆宣稱“相對(duì)論純屬臆想與臆造,客觀上是在玩弄科學(xué)、愚弄
社會(huì)凡人。”。。。
“愛(ài)因斯坦創(chuàng)立相對(duì)論學(xué)說(shuō)時(shí)完全拋棄了作為科學(xué)家應(yīng)有的真誠(chéng)和嚴(yán)謹(jǐn),且完全脫離了實(shí)踐,無(wú)法自圓其說(shuō),是臆想的產(chǎn)物,把嚴(yán)肅的科學(xué)作為謀求名利的工具。而
后,更多的人或出于迷信權(quán)威,或?yàn)榱藗€(gè)人私利,把相對(duì)論吹到神乎其神的地步,從而造成理論物理和哲學(xué)的淪喪,使偽科學(xué)盛行。”
本IT民工無(wú)意于對(duì)相對(duì)論的事狗拿耗子說(shuō)三道四,不過(guò)到聯(lián)想起IT憤青大罵
IoC框架“壓根不用去論證”就是狗皮膏藥。與那些粗通初中代數(shù)加點(diǎn)科普常識(shí)就大無(wú)畏地挑釁相對(duì)論的唐基歌德們?nèi)绯鲆晦H的是,對(duì)IoC框架荒唐可笑的謾罵也是基于“IoC就是策略模式”這種對(duì)IoC和策略模式兩者均既不知其然,更不知所以然的無(wú)知無(wú)畏。
策略模式(strategy pattern)和
IoC是垂直的。前者是一種OO拆分模式,探討的是特定情況下的特定OO拆分法則(分離算法或策略)。后者則關(guān)注的是OO整合手段,考慮的是將依任何法則拆分的部件集成配置一體。把策略模式說(shuō)成是IoC,就好比把馮諾伊曼架構(gòu)說(shuō)成是集成電路。。。。
傳
統(tǒng)組件框架要求組件從框架配置表(registry)中解析自己的配置和依賴關(guān)系并自己負(fù)責(zé)整合。IoC框架則是由框架反向控制組件,直接由框架進(jìn)行配置
和依賴搭接。通過(guò)IoC配置搭接的組件可以是因?yàn)楦鞣N各樣原因被OO分解的。包括算法策略(策略分解),事件發(fā)布定閱,客戶服務(wù),實(shí)現(xiàn)與適配器,等各種模
式。而不是僅僅限于更不是等同于策略模式。
PocoCapsule中,這些組件分解模式都有支持的
應(yīng)用例子。
如
果IoC等同于策略模式,那么以同樣的理由,IoC也等同于發(fā)布訂閱模式,等同于適配器模式,等等等等在。另一方面,策略模式也不依賴于更不等同于
IoC。雖然應(yīng)用程序完全可以用IoC直接注入策略實(shí)現(xiàn)(GoF書(shū)中的例子),但采用policy注冊(cè)表(registry)來(lái)動(dòng)態(tài)添加,刪除,解析,替
換策略或算法的應(yīng)用實(shí)現(xiàn)也很普遍。如果策略模???等同于IoC,以同樣理由,策略模式也可以等同于directory lookup,
singleton factory,等等等等許多其他模式。