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

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

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

    Flyingis

    Talking and thinking freely !
    Flying in the world of GIS !
    隨筆 - 156, 文章 - 16, 評論 - 589, 引用 - 0
    數據加載中……

    MVC的一幅簡單素描

    ?作者:Flyingis

    ?

    素描工具: Struts + Hibernate 3

    素描對象:一個足夠簡單的基于 MVC Web 應用

    目的:使用 Struts 分離業務邏輯與表現,使用 Hibernate 分離數據操作與業務邏輯,整理一種基本的 MVC 開發思路。

    ?

    1. 素描框架
    ?

    ??? 該素描主要體現在系統層次的功能劃分,系統結構的組織與設計上,素描足夠簡單,數據庫中只涉及一張表:

    ??? 學生信息(學生編號、姓名、性別、年齡、專業信息)--Student( id, name, gender, age, specialty_id )

    • 系統設計

    ??? 公共類的設計與實現

    ??? 各模塊的詳細設計,主要描述一個基本的 CRUD 操作,以及對象數據傳遞

    • 系統的部署、測試與發布

    2. 公共類設計
    ?

    ??? 基本的 CRUD 操作封裝在基本的幫助類 HibernateHelper 中,實現 Object load(Class theClass, java.io.Serializable id) Query createQuery(String queryString) void setQueryParameter(Query query, String name, Object val) List list(Query query) void save(Object o) void update(Object o) void delete(Object o) void saveOrUpdate(Object o) 等這些基本方法。
    ?

    ??? 常量單獨封裝在 Constants 類中。

    ?

    3. 各種對象設計

    • ActionForm:StudentForm-- 用于視圖層與控制層之間傳遞數據。
    • 接口 StudentIf-- 實現了學生數據對象 Bean 所需要的所有接口方法。
    • 學生數據對象 StudentData-- 實現了記錄學生對象數據的功能,并可以用作數據交互的傳輸對象,它實現了接口 Serializable StudentIf
    • 學生實體 Bean StudentBean-- 實現了學生實體的所有屬性,它實現了接口 Serializable StudentIf

    4. 對象管理實現類
    ?

    ??? 業務邏輯處理為項目的核心,直接關系到項目是否符合用戶需求。因此,我們可以單獨設計一個對象管理實現類 ManagerFacade,定義處理業務對象的CRUD操作,以增加學生信息為例public StudentIf addStudent(StudentIf student)。學生數據對象StudentDataAction中通過StudentForm接收到表現層傳入的數據,然后作為ManagerFacade對象的addStudent方法的參數傳入方法內,在方法體內聲明學生實體StudentBean的一個對象,將學生數據對象即傳入參數中的屬性值賦給實體對象,然后調用公共類HibernateHelper的save方法完成數據庫操作。其他基本操作與此類似,這樣設計似乎對象較多,但各層之間分工明確,有利于降藕。

    ??? 另外,在數據傳遞過程中,還會涉及到數據類型的轉換,可以專門設計幫助類來完成。

    ?

    5. 頁面 UI 設計
    ?

    ??? 除了設計美觀的頁面外,最重要的是頁面結構要符合項目需要,并提供一定的使用體驗,有時候簡單實用就是最好。如果可以對用戶瀏覽器統一規范要求,或是基本不會屏蔽 Javascript ,數據格式的控制可以放在客戶端用 Javascript 實現。

    ?

    6. 系統的部署、測試與發布。

    posted on 2006-03-27 17:50 Flyingis 閱讀(2623) 評論(6)  編輯  收藏 所屬分類: Web 框架與開發

    評論

    # re: MVC的一幅簡單素描  回復  更多評論   

    基本上看不出mvc
    2006-03-27 18:23 | good

    # re: MVC的一幅簡單素描  回復  更多評論   

    在這個場景中,StudentForm是VO,StudentBean是可以被持久化的實體對象,即PO,StudentData在這里主要起到BO的作用,但不包括業務邏輯,業務邏輯從BO中分離出來,單獨封裝在對象管理的一個類中,這樣便于對象間的解耦和分離,文中描述的是各對象之間相互銜接作用的一種簡單的方式,看了很多高手的大作和討論,理論性特別強,因此通過一個簡單的實例描述了一種傳輸方式。
    以前對這些概念比較模糊,現在也在學習中,請多指教。
    2006-03-27 21:34 | Flyingis

    # re: MVC的一幅簡單素描  回復  更多評論   

    以前在NEC系統集成工作的時候,開發web程序用的是小日本的自己框架,小日本很狂妄的說,這個框架你們很難理解的,后來一看,標準的mvc模式

    過了一年,用了structs,發現小日本框架就是個簡化版的structs

    MVC模式經久不衰


    歡迎訪問:http://www.shuangzixing.net
    2006-03-28 20:40 | fanse

    # re: MVC的一幅簡單素描  回復  更多評論   

    bgchd e ghdtrhg aa
    2006-04-19 12:02 | zhangxiuxiu

    # re: MVC的一幅簡單素描  回復  更多評論   

    @Flyingis
    請教:
    Struts , Hibernate在.net環境,VC++環境的對應框架有哪些?
    2007-05-24 08:51 | flyingfish

    # re: MVC的一幅簡單素描  回復  更多評論   

    @flyingfish
    VC++很少應用于Web應用開發,.Net框架中的主流web開發語言是vb.net和c#。
    由于Java開源的本質,其MVC框架往往有多種選擇,但.net框架中就只有asp.net可以選擇,簡單易用,最明顯的不足是不能跨平臺部署。
    Hibernate在.net中有Nhibernate可以選擇,后者生于前者。
    2007-05-24 22:40 | Flyingis
    主站蜘蛛池模板: 国产成人AV片无码免费| 欧洲精品99毛片免费高清观看 | 日韩毛片在线免费观看| 无码日韩人妻AV一区免费l| 成人永久免费高清| 亚洲AV网一区二区三区| 四虎影视永久免费观看地址| 豆国产96在线|亚洲| 免费一级国产生活片| 亚洲最新黄色网址| 美女被cao免费看在线看网站| 久久精品国产亚洲网站| 另类免费视频一区二区在线观看| 亚洲不卡中文字幕无码| 精品免费久久久久久久| 亚洲人成电影网站久久| 免费无码不卡视频在线观看| 亚洲视频在线视频| 国产精品视频免费观看| 亚洲精品二区国产综合野狼| 可以免费观看的国产视频| 亚洲乱码一二三四区麻豆| 日韩免费高清视频网站| 亚洲一级片免费看| 免费a级黄色毛片| 国产成年无码久久久免费| 国产成人高清亚洲| 美美女高清毛片视频黄的一免费| 亚洲精品岛国片在线观看| 国产AV无码专区亚洲AV麻豆丫| 免费播放春色aⅴ视频| 亚洲一区免费观看| 中文无码亚洲精品字幕| 亚洲中文字幕丝袜制服一区| 鲁大师在线影院免费观看| 亚洲av色香蕉一区二区三区| 亚洲精品午夜无码电影网| 成人免费无码大片A毛片抽搐| 久久av免费天堂小草播放| 亚洲一卡二卡三卡四卡无卡麻豆| www国产亚洲精品久久久日本|