• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    何種設計模式和構架才能開發出最好的企業程序[2]

    發布: 2008-9-27 10:21 | 作者: 不詳 | 來源: 測試時代 采編 | 查看: 59次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:soa

      采用過程式設計

      雖然我是一個面向對象實現途徑(指前文的使用POJO和LIGHTFRAMEWORK)的倡導者,但是有些情況下面向對象實現途徑有些大材小用,比如你只想實現一個非常簡單的業務邏輯。而且,有時候,面向對象實現途徑不太可行-—比如,你沒有持久層構架來將你的對象映射到數據庫中,在這種情況下,更好的方法是編寫面向過程的代碼,而且采用Martin Fowler稱作事務腳本(Transaction Script)的設計模式,要比采用面向對象實現途徑設計要好,因為你只需要寫一個方法來調用事務處理腳本去處理表示層的請求。

      采種這種實現途徑的一個很重要的特點是,用于實現某種行為的類和數據存儲區是分開的。在EJB2的應用程序中,這種方式的業務邏輯和圖表2中的設計是非常相似的。這種設計的核心全都集中在EJB或者POJO的行為上,因為他們實現了事務腳本,并且還操作那些 “啞”對象數據(因為他們只擁有很少的行為,大部分都是數據)。因為大部分的行為都集中在少量的大型類上,所以代碼會變的很難理解與維護。

      

      Figure 2. The structure of a procedural design: large transaction script classes and many small data objects

      這種設計具有高面向過程的特性,而且基本不依靠面向對象語言的特性。如果你曾經使用過C或者其他非面向對象語言的話,你應該用過這種設計模式。如果這種模式很適合你的設計的話,用這種模式設計也是一種不錯的選擇。

      這種直觀的過程式開發途徑,非常的誘人,因為你只需要寫代碼就好了,不用考慮如何組織你的類文件。但問題是,如果你的業務邏輯非常的復雜,那么你的代碼會變的噩夢般的難以維護。所以,除非你要寫的程序非常的簡單,否則你應該用面向對象設計你的程序,而不要受面向過程的代碼的誘惑。

      采用面向對象設計

      在面向對象設計中,業務邏輯是由對象模型構成的,對象模型是由許多小類組成的關系網。這些類直接體現的是問題域的解決方法,如圖3所示,在這種模式中,有些類只有數據,有些類只有行為,但是大多數的則兩者都有,這是優秀的類設計的一種特點。

      

      Figure 3. The structure of a domain model: small classes that have state and behavior

      面向對象設計有許多的好處,包括可以提高可維護性和可延展性。你可以用EJB2的實體bean來實現一個簡單的對象模型。但是如果像要獲得更多的好處的話,必須要使用POJOs技術和輕量級持久層構架——比如Hibernate和JDO技術。POJO可以讓你開發豐富的模型,這些模型可以擁有繼承和回調等特點。而輕量級持久層構架可以讓你很簡單的從對象模型映射到數據庫。

      對象模型的另外一個名字是域模型,Fowler稱這種由面向對象途徑來開發的業務邏輯叫做域模型設計模式。(就是類的設計是直接用來解決問題的,則這種設計模式叫做域模型設計模式)

      表模型設計模式

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 程序 構架 開發 模式 企業

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>