<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 2005-11-14 17:02 canonical 閱讀(222) 評論(0)  編輯  收藏 所屬分類: 設計理論

    對象本質上是一種命名技術,即將一組相關的數據和函數放在一起,起一個名字。從業務層面上看,我們需要識別出大量的概念,對應到建立的領域模型,我 們就擁有不同的業務對象。這些業務對象的類型各不相同,可以區分出來。從中間件層面上看,需要從大量業務對象中抽象出共性,并以統一的方式進行處理。即在 中間件層,所有業務對象的類型被弱化下來,實際上喪失了其各自的獨特性,即在中間件層看來,這些不同業務對象的類型是相同的。在中間件層的做法,一般是使 用reflection方法并結合少量全局性的接口。實際上是在結構層面上將對象作為Map來處理。這就象是應用科學與數學的關系。數學在抽象的層面上研 究結構之間的關系,每一個具體學科對相同的數學定理賦予不同的詮釋。
     理論上,一個概念最好能夠自適應的在不同的抽象層面上表現為不同的結構,但 受限于當前的面向對象實現技術,實際采取的技術路線多半為建立唯一的強類型模型==>通過reflection得到弱類型結構。因為java class作為元數據能夠承載的信息量有限,reflection方法可能并不能充分揭示對象的結構,所以一般還要額外補充xml說明文件等。 因為我個人主要的工作都作在中間件層,所以我的做法是盡量使用Map和List等抽象數據結構,結合元數據對象,在需要強類型的時候通過對象封裝來轉化為 強類型。即從弱類型==>強類型。
    例如:
    class Work{
     public static final String KEY_NAME = "name";
     public static final String KEY_DESCRIPTION = "description";

     Map work;

     public String getName(){
      return (String)work.get(KEY_NAME);
     }

     public String getDescription(){
      return (String)work.get(KEY_DESCRIPTION);
     }

     public void setName(String name){
      work.put(KEY_NAME,name);
     }
    ...

     public Map toMap(){
      return work;
     }
    }

    主站蜘蛛池模板: 国精产品一区一区三区免费视频 | 又黄又爽无遮挡免费视频| 亚洲精品中文字幕乱码| 日本视频在线观看永久免费| 伊人久久亚洲综合| 成人影片一区免费观看| 国产亚洲av片在线观看播放 | 在线观看91精品国产不卡免费| 亚洲小说图区综合在线| 日韩毛片无码永久免费看| 日本亚洲高清乱码中文在线观看| 国产yw855.c免费视频| 小说区亚洲自拍另类| 亚洲欧洲日本在线| 嫩草在线视频www免费看| 亚洲AV无码久久| 1000部无遮挡拍拍拍免费视频观看| 亚洲日韩国产精品无码av| 国产成人免费高清激情视频| 成a人片亚洲日本久久| 成人午夜亚洲精品无码网站| 日韩视频在线观看免费| 激情综合亚洲色婷婷五月APP| 午夜宅男在线永久免费观看网| 亚洲AV无码一区二区三区电影| 四虎影库久免费视频| 一级毛片免费在线| 亚洲国产成人久久综合碰碰动漫3d| 5555在线播放免费播放| 亚洲AV无码片一区二区三区| 亚洲色欲久久久综合网| 四虎永久在线观看免费网站网址 | 久久成人18免费网站| 亚洲五月六月丁香激情| 成人au免费视频影院| 精品免费久久久久国产一区| 亚洲伊人tv综合网色| 国产色爽女小说免费看| 男女午夜24式免费视频| 亚洲精品动漫免费二区| 亚洲人成77777在线播放网站|