posts - 59,  comments - 323,  trackbacks - 0
          romza在BJUG的maillist里提出了一個問題,Web開發中的Component,能不能夠通過OSGi這樣的插件體系,來進行組織,以提高代碼的可重用性。
           
          這個帖子引起了廣泛而深入的討論,我也在很后面加入了進去,說了一點。
           
          飛馳的話題呼嘯而過,我稍一遲疑,就趕不上趟了。
           
          但是這里面的話題,又的確是我非常感興趣的(嗯,跑題了那么遠,但是還在我的興趣范圍內),所以的確是應該出來聊聊我的看法,特別是徐Rx同志多次提到了我的DJ...
           
          1、徐Rx,我認為你不應該為自己的表達能力過多辯護,還把責任推到我們中華民族偉大的中文上來。看著你的帖子,我好幾次都差點暈過去,百分之50中文單詞勾兌百分之50的英文單詞。這樣的句子,能讓人讀懂嗎?
           
          2、幾次昏過去之后,我又強迫自己醒過來接著看帖子,我認為徐Rx還是講得很正確的,除了再次想把我的DJ和語義網拉上關系之外。
           
          3、回到最初的話題,romza的需求可以理解,但是你所猜測的那個解決方案(插件體系結構)我認為不是一條正路。提高軟件的重用性,自然是大家多年來一直追求的目標,但是不同的應用領域,應該有不同的重用規范。彼此之間可以參考,但是很難照搬。就我對Web開發的理解,在AJAX還沒有大規模改變Web開發的世界之前,瀏覽器的運作模式是非常單調的(請求-響應)模式,響應的輸出,無非就是文本,在這樣的世界里,Web模板是最自然的解決方案。比如buaawhl的Fastm,或者我的Fastm+。但是當AJAX的概念大面積的進入人們的視線之后,傳統的思維就必須修正了,由此而引發的一系列的思考,我倒現在也沒有完全想好,也許Micheal
          Chen可以出來談談。但是,現有類似于AjaxTags這樣的用Tags給Web1.0打補丁的方式,我認為是丑陋的。
           
          4、再說面向對象與面向方面的問題,在只有Object的世界里,對象就是唯一的可以重用的積木。這個積木從其本質來說,就是有缺陷的,所以要想在OO的基礎上重用,就會很辛苦(參見我的《喪鐘》系列)。但是貿然引入Aspect,也并非解救之道。就像AJAX出現之后,我們必須重新思考Web開發,而不是打補丁一樣。Aspect的概念出現之后,我們現在的用法,也不過是用Aspect給Object打補丁。這樣的做法,在我看來,一樣是丑陋的。
           
          5、AOSD我看了一下,那老頭舉的例子,簡直就是在說夢話。要像他那樣做面向方面的分析設計,系統肯定是做不出來的。
           
          6、說說我的DJ,在我看來,強行將一些行為劃入Object,而另一些劃入Aspect,是不平等的。這些行為不該有這樣的高低貴賤之分。在DJ之中,他們都是某一個Channel。語義是:"Channel就是行為插入數據的管子"。每一個管子之間是平等的,而我們需要一個更加強壯的機制,來管理這些行為之間的相互干擾,以及對于數據的交叉讀寫。
           
          7、前面拐拐龍底咚說的:"一下子想起了久違的DB觸發器",實在是深得我心。我一直認為,在確保數據安全方面,OO的做法是愚蠢的,而DB的觸發器是一種更加靈活的方案。但是傳統數據庫中的觸發器,缺少對行為相互干擾之間的管理,而是純粹只關心了數據的安全。因此,我一直在設想,如果我的DJ能夠成為某種PL/SQL的直接擴展,也許是更加自然的一種實現方案。
           
          8、徐Rx的C/C++回憶我也很贊同,我曾經跟一個朋友說過一句話:"框架就是弱語言,而語言就是強框架"。我現在所在的公司,做的那個樂酷網絡電視錄像機,背后的業務邏輯支撐框架,就是按我的DJ的思路來做的,叫做DOOP。面向動態對象的編程。應該這么說,是先有了DOOP的開發實踐,才有了后來更進一步語言化的打算。
           
          9、我對于DJ的定位,是一種業務邏輯層的描述語言,而其它的方面,它肯定都不擅長,比如界面層,比如網絡層。因此,我的看法是,在現在的多層架構的體系下,拋開"確切所處的層次來談重用",肯定是用不好的。也可以這么說,你不可能找到一個方案,能夠一舉解決整個系統的重用性問題。必須區分技術領域、區分系統層次,區分不同的規模尺度。然后才能來談重用。這樣才可能成功的。
          posted on 2005-11-28 22:45 讀書、思考、生活 閱讀(1130) 評論(2)  編輯  收藏


          FeedBack:
          # re: 關于OSGi,AOP,SOA,Web Framework的一個討論
          2005-11-29 11:37 | calvin
          還是飛馳而過~~  回復  更多評論
            
          # re: 關于OSGi,AOP,SOA,Web Framework的一個討論
          2005-12-14 23:35 | weide
          何為DJ?  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(20)

          隨筆檔案

          友情BLOG

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金沙县| 玛纳斯县| 郎溪县| 正镶白旗| 镇沅| 峨山| 永定县| 保靖县| 镇雄县| 长武县| 余庆县| 高要市| 衡东县| 肇源县| 嘉定区| 萨嘎县| 利川市| 乌兰察布市| 太湖县| 方山县| 沙坪坝区| 岑溪市| 应用必备| 南乐县| 乌拉特前旗| 泸定县| 英超| 定陶县| 通江县| 广汉市| 行唐县| 延寿县| 宝应县| 洪雅县| 柳江县| 江陵县| 卓资县| 青海省| 桂阳县| 沐川县| 宁安市|