<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

    [導入]關于對象的兩個注解

    Posted on 2006-03-25 11:36 canonical 閱讀(959) 評論(0)  編輯  收藏 所屬分類: 設計理論

    1. 對象的一個特性是局域化。每一個對象函數(非靜態函數)都是在對象的上下文中調用的,因而隱含假設了一定的環境信息,這些信息以封裝的形式被使用。
    ?? 一個具體的體現是函數的命名,如果沒有對象,我們必須給函數進行全局命名,例如 find_friends, find_users, find_departments, 而在對象的環境下,我們可以抽象出一個采用局域化命名的接口 IQueriable.find(),實現系統的深度分解。
    ?? 在對象成員函數的內部,我們通過統一預定的名字(this指針)來訪問對象環境中的變量。而在 jsplet web框架中的action和前臺jsp中,我們通過thisObj變量來訪問后臺邏輯對象的上下文,而不需要知道對象的具體名稱 (objectName)。

    2. 對象的另一個特性是靜態化。我們從面向過程走向面向對象時,我們思維中的圖像出現了一個重大的變化:在面向過程的程序中,我們想象中存在的是一個個動態的處理過程,它們在時間軸上按照一定的順序依次執行。而在面向對象的圖景中,我們考慮的主要是一個靜態化的世界,系統分解為對象,而對象是同時存在于我們的思維中的。這里一個重要的技術手段就是成員函數。例如我們編寫一個成員函數getChildren(), 這個函數的語義是返回一個數據變量,概念上它是靜態的,但其內部實現其實可能是很復雜的,非常的動態化:可能需要查詢數據庫,可能需要校驗權限等等。
    理想的情況下,我們可以利用成員函數封裝可以實現對象圖的遍歷。例如? x.getParent().getChilldren(), 在微軟的COM模型或者Sun的JavaBean標準下,我們可以寫成
    x.parent.children。
    特別注意這里的屬性語法原則上是與時間無關的,即在同一個時刻我們認為這些屬性同時存在著,是一個靜態的關系。而以下的調用出現了明確的步驟,因而明確引入了時間因素
    ITree parent = node.getParent();
    if(parent == null)
    ?? return null;
    List children = node.getChildren();
    return children;

    在witrix平臺的tpl模板引擎中使用的EL(Expressin Language)表達式語法會自動處理函數返回值為null的情況,因而維護了對象圖的語義,不需要中斷調用過程來進行異常處理,是簡化界面編程的一個重要方面。

    這里順便提一句:人的思維是傾向于靜態化的,但現實世界卻是在不斷的變動中的。正所謂不變的只有變化。Von Neumann體系結構強迫我們在最細節處引入變化過程,很多時候是過分的負擔。我們需要的是識別出各種可以靜態描述的部分,集中精力于那些真正需要隨需應變的應用。

    主站蜘蛛池模板: 午夜在线免费视频| 日本永久免费a∨在线视频| 精品视频在线免费观看| 亚洲色偷拍区另类无码专区| 免费人成网站永久| 亚洲高清国产拍精品青青草原| 黄页网址在线免费观看| 亚洲AV永久无码精品一区二区国产| 羞羞漫画在线成人漫画阅读免费| 日产乱码一卡二卡三免费| 久久亚洲精品无码av| 免费大黄网站在线观看| 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 国产成人精品免费大全| 国产精品亚洲视频| 日本高清高色视频免费| 亚洲视频小说图片| 久久精品a一国产成人免费网站| 亚洲中文字幕无码爆乳| 又粗又大又猛又爽免费视频| 无码 免费 国产在线观看91| 亚洲国产精品乱码一区二区| 久久A级毛片免费观看| 亚洲一级黄色大片| 午夜亚洲国产成人不卡在线| 美女无遮挡拍拍拍免费视频| 在线免费观看亚洲| 暖暖免费高清日本一区二区三区| 精品一区二区三区无码免费直播| 亚洲日韩中文在线精品第一| 三年片在线观看免费大全电影| 亚洲国产视频久久| 国产av无码专区亚洲国产精品| 一级毛片aaaaaa免费看| 亚洲精品无码av中文字幕| 中文亚洲AV片不卡在线观看| 999久久久免费精品国产| 黄网站色视频免费观看45分钟| 久久被窝电影亚洲爽爽爽| 岛国av无码免费无禁网站| 一个人看的www在线免费视频|