<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    面向?qū)ο笾麑?shí)論

    Posted on 2007-04-01 21:30 canonical 閱讀(1466) 評(píng)論(3)  編輯  收藏 所屬分類: 設(shè)計(jì)理論
        命名(Naming)無疑是人們認(rèn)識(shí)世界最基本的手段之一。從軟件技術(shù)的發(fā)展中我們也可以觀察到命名技術(shù)的不斷深化。
        1. 助記的名:匯編之中我們有了move/push/pop這樣的指令,所面對(duì)的不再是010101這樣的同質(zhì)的數(shù)字世界。變量也逐漸可以擁有自己的名字,甚至多個(gè)名字。在C語言中指針的概念被進(jìn)一步抽象化,使得我們可以為任意內(nèi)存地址起一個(gè)可讀的名字。我們甚至漸漸忘懷了pStruct是指針的名字,而直接把它等同于指針?biāo)傅膬?nèi)容本身。
        2. 局部的名:函數(shù)(例程)概念的出現(xiàn)把局部名稱引入系統(tǒng),從此精細(xì)結(jié)構(gòu)的發(fā)展才成為可能。
        3. 多義的名:面向?qū)ο蟮某霈F(xiàn)可以看作是命名技術(shù)的一種重大進(jìn)展,它可以把一組相關(guān)的數(shù)據(jù)和函數(shù)放在一起起個(gè)名字。繼承概念為名引入了多義性。通過虛擬函數(shù)表所實(shí)現(xiàn)的lazy-binding部分松動(dòng)了對(duì)象的名和實(shí)之間的指稱關(guān)系。現(xiàn)在一些所謂dynamic dispatch技術(shù),依然是頑強(qiáng)的希望在同一名下,納入更多實(shí)的變化。
        4. 特指的名:面向?qū)ο蠹夹g(shù)創(chuàng)造一個(gè)特殊的名---this指針。它是一種約定了的固化了的局部名稱。使用this指針使得我們區(qū)分了領(lǐng)域(domain)的內(nèi)外。在domain外對(duì)象可以有各種稱謂,而domain內(nèi)我們直接通過this直接觸及到對(duì)象的實(shí)體。在javascript這樣的動(dòng)態(tài)語言中,函數(shù)和this指針是動(dòng)態(tài)綁定的。在某種意義上,這意味著一個(gè)操作所依賴的domain知識(shí)可以是動(dòng)態(tài)變化的。
        5. 相對(duì)的名:面向?qū)ο蠹夹g(shù)所創(chuàng)造的知識(shí)相對(duì)化概念的一個(gè)直接體現(xiàn)是命名的相對(duì)化。一個(gè)函數(shù)它的具體含義不再是絕對(duì)的,而是相對(duì)于this指針的。因此我們不再采用user_load, book_load這樣的全稱的函數(shù)名, 而只定義load這樣的具有依賴性的函數(shù)。在面向?qū)ο蟮睦硐氩僮鲌D景下,首先應(yīng)該是通過一個(gè)整體的參數(shù)直接區(qū)分出多個(gè)大的情景,然后在每個(gè)特定的情景下分別調(diào)用相對(duì)函數(shù)進(jìn)行操作。在模板(template)技術(shù)或者動(dòng)態(tài)語言中,這種相對(duì)性可以得到更加充分的發(fā)揮。因?yàn)樵诜盒突蛘呷躅愋驼Z言中,我們需要的只是對(duì)象提供特定名稱的函數(shù)或?qū)傩远选?br>    6. 持久的名:在早期的語言中,名只在編譯時(shí)刻存在。在編譯出的二進(jìn)制代碼中,名所提供的豐富的描述空間不復(fù)存在,我們所有的只是同質(zhì)性的二機(jī)制地址而已。而在現(xiàn)代語言中,反射已經(jīng)成為了不可或缺的技術(shù),它使得我們?cè)谶\(yùn)行時(shí)刻仍然可以擁有復(fù)雜的描述結(jié)構(gòu)。
        7. 分離的名:在一般的程序中,我們?cè)缫蚜?xí)慣了變量名直接指代實(shí)際可操作的對(duì)象本身,名的問題顯得太平庸以至于大家似乎忽略了它的存在。但是在web體系架構(gòu)下, 因?yàn)榇嬖谥鵀g覽器和服務(wù)器這樣兩分的狀態(tài)空間, 名成為兩個(gè)系統(tǒng)交互的直接手段,名的重要性也重新凸顯出來。只有在一個(gè)封閉的container中,才能通過名字解耦. 因此web架構(gòu)設(shè)計(jì)的一個(gè)核心問題是構(gòu)建出各種各樣的全局的container. 瀏覽器前端技術(shù)的一個(gè)本質(zhì)性困難即在于多個(gè)瀏覽器窗口之間沒有共享的全局對(duì)象空間,因而很難在前臺(tái)獨(dú)立建立container結(jié)構(gòu)。
       在witrix平臺(tái)的jsplet框架中,在前臺(tái)我們通過如下url來訪問后臺(tái)
      /view.jsp?objectName=MyObj&$bizId=test&objectEvent=ViewDetail&id=1
    MyObj這一參數(shù)標(biāo)定了BeanContainer中的一個(gè)Java對(duì)象, $bizId參數(shù)指定應(yīng)用某個(gè)Aspect到此對(duì)象上,objectEvent參數(shù)映射到WebAction上的一個(gè)java方法,而EntityManager最后負(fù)責(zé)把id映射到具體的實(shí)體對(duì)象。當(dāng)我們?cè)诤笈_(tái)需要編制代碼的時(shí)候,entity對(duì)象已在手邊。
        8. 名的結(jié)構(gòu):當(dāng)名越來越多的時(shí)候,我們需要對(duì)它們進(jìn)行有序的組織。名字空間(namespace)所采用的樹形結(jié)構(gòu)可以說是最直接的一種組織方式。這一結(jié)構(gòu)不僅僅可以用于描述,同時(shí)可以用于控制。

    Feedback

    # re: 面向?qū)ο笾麑?shí)論  回復(fù)  更多評(píng)論   

    2007-04-02 19:12 by liigo
    總結(jié)的很好。

    # re: 面向?qū)ο笾麑?shí)論  回復(fù)  更多評(píng)論   

    2007-05-23 12:03 by neo
    無外乎兩個(gè)概念:reference, namespace(或叫environment)

    # re: 面向?qū)ο笾麑?shí)論  回復(fù)  更多評(píng)論   

    2007-05-23 20:11 by canonical
    關(guān)鍵正在于reference這個(gè)概念本身的分化和精細(xì)化
    主站蜘蛛池模板: 国产男女猛烈无遮挡免费视频网站 | 亚洲一卡二卡三卡四卡无卡麻豆| 24小时日本在线www免费的| 国产精品久久久久久亚洲影视| 亚洲欧洲日产国码高潮αv| 久久99青青精品免费观看| 久久久久亚洲国产| 亚洲影院天堂中文av色| 亚洲成人在线免费观看| 亚洲精品午夜国产VA久久成人| 免费在线观看自拍性爱视频| 亚洲欧洲一区二区| 亚洲?V乱码久久精品蜜桃| 久久国产精品免费视频| 男女猛烈无遮掩视频免费软件| 亚洲午夜精品一区二区| 国产一级淫片免费播放| 18成禁人视频免费网站| 产传媒61国产免费| jlzzjlzz亚洲jzjzjz| 国产亚洲精品观看91在线| 日本不卡视频免费| 99久久99久久精品免费观看| 色屁屁www影院免费观看视频| 久久国产亚洲高清观看| 亚洲免费一区二区| 成人毛片免费视频| 日韩免费无码视频一区二区三区| 羞羞视频免费观看| 亚洲一区二区三区成人网站 | 亚洲电影唐人社一区二区| 亚洲精品一级无码鲁丝片| 毛色毛片免费观看| 国产成人AV片无码免费| yy一级毛片免费视频| 亚洲爆乳少妇无码激情| 国产亚洲精品国看不卡| 午夜一级免费视频| 日韩欧美一区二区三区免费观看| 免费福利在线视频| 中文字幕久精品免费视频|