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

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

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

    posts - 70,comments - 408,trackbacks - 0

    模型組件代表應用的業(yè)務數(shù)據(jù)和邏輯.坦率的說Struts框架并沒有為設計和創(chuàng)建模型組件提供線程的框架.不過Strtus允許使用其他的模型組件來處理應用的業(yè)務領域.如EJB活JDO以及常規(guī)的JavaBean和ORM.

    模型是應用中重要的一部分,它包含了業(yè)務實體和業(yè)務規(guī)則,負責訪問和更新持久化數(shù)據(jù).應該把所有的模型組件放在系統(tǒng)中的同一個位置,這樣利于維護數(shù)據(jù)和完整性,提高可重用性.模型和視圖以及控制器之間保持獨立,在分層框架結構中.位于上層的視圖和控制器依賴于下層的模型的實現(xiàn),而下層的模型不應該依賴于上層的視圖在控制器的實現(xiàn).如果在模型組件中通過JAVA的import語句引入了視圖和控制器組件,這樣的程序就垃圾了.

    在科學和工程技術領域,模型是一個很有用途的概念,它可以用來模擬一個真是的系統(tǒng).在軟件開發(fā)領域,模型用來表示真是世界的實體.在軟件開發(fā)的不同階段,需要為目標系統(tǒng)創(chuàng)建不同的模型.可以采用面向對象的建模語言UML來描述.

    在建模之前首先要對問題域進行詳細的分析,確定用例,接下來可以根據(jù)用例來創(chuàng)建概念模型.概念模型用來模擬問題域中的真實實體.概念模型描述了每個實體的概念和屬性,以及實體之間的關系.這個階段并不描述實體的行為.比如說商品和商品目錄之間存在多對多的關系,這是因為一個商品目錄包含多個商品,而一個商品也可以屬于多個商品目錄.

    設計模型需要在概念模型的基礎上設計.可以用UML類框圖,活動圖以及狀態(tài)圖來描述設計模型.根據(jù)UML語言,類之間存在四種關系:

    1)     關聯(lián)(Association):就是類之間的引用關系,

    2)      依賴(Dependency):是指類之間的訪問關系.

    3)      累積(Aggregation)就是說整體與個體之間的關系,可以把累積看作一種強關聯(lián)關系.

    4)      一般化(Generalization):是類之間的繼承關系.

    如果想了解如何為應用創(chuàng)建合理的面向對象的設計模型,可以瀏覽www.uml.org深入了解UML語言.

    業(yè)務對象BO(Business Object),是對真是世界的實體的軟件抽象.它可以代表業(yè)務領域中的人,地點,事務或者概念.業(yè)務對象包括狀態(tài)和行為.如果一個類可以作為業(yè)務對象它應該具有以下特征:

    1)     包含狀態(tài)和行為.

    2)      代表業(yè)務領域的人,地點,事務或概念.

    3)      可以重用.

    業(yè)務對象客分為三種類型:

    1)     實體業(yè)務對象.

    2)      過程業(yè)務對象.

    3)      事件業(yè)務對象.

    實體對象就是具體的對象,比如人,地點,商品,訂單.過程對象就是業(yè)務過程或者流程,

    他們通常依賴于實體對象.可以把業(yè)務領域的動詞,比如登陸,發(fā)貨等作為過程對象.事件對象代表一些時間如比異常,警告,超時,錯誤.這些事件通常由系統(tǒng)中的行為觸發(fā)器激活.在應用使用業(yè)務對象好處很多,最重要的一點就是業(yè)務對象提供了通用的技術術語和概念,不管技術人員還是非技術人員都可以共享理解它們.此外業(yè)務對象可以隱藏實現(xiàn)的細節(jié),對外只暴露接口,提高了安全性.

    通常,持久化意味著通過手工或者其他方法輸入到應用中的數(shù)據(jù),能夠在應用結束運行后依然存在.即使應用運行結束或者計算機關閉,這些信息依然存在.當應用中的業(yè)務對象在內存中創(chuàng)建后,他們不可能永遠存在.最后,他們要么消失,要么就要被持久化到數(shù)據(jù)庫中.內存無法永久保留數(shù)據(jù),因此必須對業(yè)務對象進行持久化.關系型數(shù)據(jù)庫被廣泛用來存儲數(shù)據(jù).關系型數(shù)據(jù)庫中存放的是關系型數(shù)據(jù).它是非面向對象的.把業(yè)務對象映射到非面向對象的數(shù)據(jù)庫中,因為對象由狀態(tài)和行為組成,而關系數(shù)據(jù)庫則由表組成.對象之間的各種關系和關系型數(shù)據(jù)庫中表之間的關系并不一一對應.例如對象之間繼承關系就不能直接映射到關系型數(shù)據(jù)庫中了.而對于JAVA應用,可以直接通過JDBC編程來訪問數(shù)據(jù)庫.JDBC可以說是訪問持久化數(shù)據(jù)層的最原始最直接的方法,如果數(shù)據(jù)模型非常復雜,這里我推薦用Hibernate架構來進行持久化層的處理.

    因為Struts中本身不包含處理模型的架構,所以在這里只是簡單的對模型進行了介紹.至于具體的知識可以研究Ejb,JavaBean等技術.至于持久化層的hibernate架構,這里我推薦閱讀孫衛(wèi)琴的:<<精通Hibernate>>.(網友們的支持,是我繼續(xù)寫技術文章的動力!)

    posted on 2005-10-25 12:27 我心依舊 閱讀(1146) 評論(2)  編輯  收藏

    FeedBack:
    # re: Struts模型組件(原創(chuàng))
    2005-10-25 13:00 | niuren
    Good,期待的繼續(xù)推出Struts技術的文章,支持  回復  更多評論
      
    # re: Struts模型組件(原創(chuàng))
    2005-10-26 23:25 | BlueO2
    怎么感覺就是把孫衛(wèi)琴的書里的東西給精簡出來了。
    連對BO的分類和總結都如出一轍  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品网站在线观看不卡无广告| 午夜一级免费视频| 亚洲AV无码日韩AV无码导航| 一级毛片完整版免费播放一区| 又粗又硬又黄又爽的免费视频| 精品久久亚洲一级α| 免费国产高清视频| 高清免费久久午夜精品| 亚洲日本中文字幕天堂网| 亚美影视免费在线观看| 亚洲成色www久久网站夜月| 久久青青草原国产精品免费| 亚洲av不卡一区二区三区| 99re在线精品视频免费| 香蕉大伊亚洲人在线观看| 午夜视频免费成人| 免费在线观看亚洲| 中文字幕精品亚洲无线码二区 | 91香焦国产线观看看免费| 亚洲视频在线观看视频| 野花高清在线观看免费完整版中文| 亚洲中文字幕无码中文| 免费大黄网站在线观看| 人妻免费一区二区三区最新| 久久亚洲AV成人出白浆无码国产| 久久久久久免费视频| 校园亚洲春色另类小说合集 | 亚洲福利中文字幕在线网址| 在线免费观看h片| 亚洲妓女综合网99| 四虎永久在线精品免费影视| 国产拍拍拍无码视频免费| 亚洲成年人电影网站| 亚洲成AV人网址| 亚洲一区免费在线观看| 阿v免费在线观看| 亚洲黄色免费电影| 无码欧精品亚洲日韩一区夜夜嗨| 在线播放免费人成毛片乱码| 亚洲熟女www一区二区三区| 亚洲另类激情综合偷自拍图|