<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 2009-07-11 21:37 canonical 閱讀(1242) 評論(0)  編輯  收藏 所屬分類: 設計理論
        軟件開發技術的技術本質在于對代碼結構的有效控制. 我們需要能夠有效的分解/重組代碼片斷, 凸顯設計意圖. 面向對象是目前最常見的代碼組織技術. 典型的, 它可以處理如下模式
      A1 --> B2,  A2 --> B2,  A3 --> B3 ...
    我們觀察到A1和A2之間, B2和B2之間具有某種概念關聯性, 同時存在某種抽象結構 [A] --> [B].
    對于這種情況, 我們可以定義對象 [A], [B], 它們分別是 A1和A2的聚合, B1和B2的聚合等. 舉例來說, 對于如下表格描述, <ui:Col>所提供的信息在映射為html實現的時候將在多處被應用.
    <ui:Table data="${data}">
      <ui:Col name="fieldA" label="labelA" width="20" />
      <ui:Col name="fieldB" label="labelB" width="10" /> 
    </ui:Table>
    這里<ui:Col>提供的信息對應三個部分的內容: 1. 列標題 2. 列樣式(寬度等)  3. 列數據

    面向對象的常見做法是抽象出 UiCol對象, 它作為UiTable對象的屬性存在, 在生成表頭, 表列樣式和表格數據內容時將被使用. 但是我們注意到面向對象要求多個方法通過this指針形成狀態耦合

    ,在某種意義上它意味著所有的成員方法在任一時刻都是同時存在著的。它們所代表著的存在的代價必須被接受(存儲空間等)。即使并不同時被使用,我們仍然需要同時持有所有成員函數指針及

    共享的this指針。實際上, 我們并不一定需要A1和A2同時在場. 在這種情況下, 編譯期技術可以提供另一種不同的行為聚合方式.


    <table>
      <thead>
        <sys:CompileTagBody cp:part="thead" />
      </thead>
      <cols>
        <sys:CompileTagBody cp:part="cols" />
      </cols>
      <tbody>
        <sys:CompileTagBody cp:part="tbody" />
      </tbody>
    </table>

    只要<ui:Col>標簽的實現中針對編譯期的cp:part變量進行分別處理, 即可實現信息的部分析取.


    主站蜘蛛池模板: 亚洲精品高清一二区久久| 亚洲一区二区成人| 精品国产免费一区二区三区香蕉| 亚洲黄色网址大全| 四虎国产精品免费视| 国产无遮挡无码视频免费软件| 亚洲偷自精品三十六区| 国产福利电影一区二区三区,亚洲国模精品一区 | 免费无码A片一区二三区| free哆拍拍免费永久视频| 亚洲欧洲国产综合| 亚洲国产小视频精品久久久三级| **毛片免费观看久久精品| 免费在线观看自拍性爱视频| 亚洲尹人香蕉网在线视颅| 国产一区二区三区免费在线观看| 国产va在线观看免费| 国产精品亚洲综合| 亚洲国产模特在线播放| 亚洲五月综合缴情在线观看| 日韩中文无码有码免费视频 | 69精品免费视频| 一级特级女人18毛片免费视频| 亚洲国产日产无码精品| 亚洲日韩aⅴ在线视频| 国产美女精品久久久久久久免费| 99精品视频免费观看| 91av免费在线视频| 男人的天堂av亚洲一区2区| 亚洲日韩在线视频| 久久精品国产亚洲AV麻豆不卡| 国产精品无码一区二区三区免费| 美女内射毛片在线看免费人动物| 久久不见久久见免费影院www日本 久久WWW免费人成—看片 | 亚洲av无码天堂一区二区三区| 日韩精品免费一级视频| 久久青草免费91线频观看不卡 | 亚洲国产精品综合久久网各| 亚洲爆乳无码专区| 久久久久无码专区亚洲av| 国产国产成年年人免费看片|