jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          這幾天在看AOSD,有一些疑惑。
          在網上找了些資料:
          http://canonical.blogdriver.com/canonical/639784.html

          http://gigix.blogdriver.com/gigix/646694.html

          http://webseminar5.unix105.cn4e.com/webseminar/AOSD.ppt

          http://sunshineormer.blogdriver.com/sunshineormer/847906.html


          看這個圖。


          對應這段話:“Jacobson指出每一個use case是一個功能切片(slice), 并為use case中的概念找到了相應的程序對應物,因而可以在后期通過AOP技術將use case slice織入到系統基礎架構中,從而構成一種全程建模技術。use case中的generalization可以對應于對象繼承, 包含(include)可以對應于對象組合和調用, 而擴展(entension)就對應于AOP。某些use case具有共性,如常見的CURD(Create,Update,Read, Delete)操作,可以被抽象為參數化的use case, 這可以對應于模板(template)概念。”

          結合原書:
          如果Reservation里面的Create(),Consume()可以真的分解,Create()和Consume()的沒有任何關系的話,為何還要將他們放在Reservation里面呢?就是為了OO,為了要把這兩個動作放在一個類里面?

          我的意思是,如果真的用例之間可以被切開,解決所說的“Tangling”問題,那為何不在實現的時候 也把他們分開呢,每個用例一個類(類似于面向過程編程)?而不是借助于AOP這樣的一個中介(貌似的隔離),最后還是將多個用例之間的代碼混雜在一起呢!?既然AOSD把他們放在了一個類里面,那么就說們這兩個內容確實存在著“Tangling”問題的,而這個問題是在用例分析階段就該明確的。既然存在著“Tangling”,那么又怎么有一個“切片”,將他們隔開呢?

          AOSD中也發現一些內容(基礎結構,即領域模型)是無法在多個用例之間切開的,所以又提出了“公共用例”、“基礎用例”來彌補一些其原型的漏洞。 到現在為止,我還沒發現AOSD中用例切片、用例模塊能夠多少真正解決問題的思路。

          事實上,如果真的沒有關系的用例,顯然也可以在OOA/OOD的過程中分開來,而無須這里的AOSD所介紹的這些手段。

          當然,對于擴展用例以及非功能性需求,AOSD介紹的內容還是相當不錯的。

          繼續研習中!。。。

          posted on 2006-01-25 11:17 jinfeng_wang 閱讀(1327) 評論(0)  編輯  收藏 所屬分類: ZZAOP
          主站蜘蛛池模板: 红原县| 双牌县| 万州区| 巍山| 舒城县| 曲麻莱县| 霍州市| 杭州市| 天门市| 得荣县| 都江堰市| 华蓥市| 嘉禾县| 平湖市| 怀柔区| 芮城县| 邢台市| 林周县| 如皋市| 运城市| 子长县| 合江县| 酒泉市| 六安市| 大埔县| 麻栗坡县| 卓资县| 屏南县| 深圳市| 嘉鱼县| 开阳县| 平果县| 江津市| 上蔡县| 锦屏县| 横峰县| 雅安市| 象山县| 金塔县| 淅川县| 克什克腾旗|