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

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

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

    隨筆 - 251  文章 - 504  trackbacks - 0
    <2006年11月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    本博客系個人收集材料及學習記錄之用,各類“大俠”勿擾!

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202396
    • 排名 - 285

    最新評論

    板橋里人 http://www.jdon.com 2005/04/28

      以數據庫為核心的軟件時代已經過去,數據庫時代早已結束,當我看到J2EE征途中那么多人在對象和數據庫之間彷徨痛苦ing的時候,我想我該出來喊一聲了。

      其實這句話在幾年前肯定有人喊過,因為中間件時代的來臨,實際意味著數據庫時代終結,正所謂一山無二虎:如果你重視數據庫,你的J2EE系統就無法完全OO,只有你忽視數據庫,你的系統才有可能完全邁向OO,至于數據庫性能調優等特定功能都可交由EJB容器或O/R Mapping工具實現。

      很多年前,包括我自己在內的大部分企業程序員都是從數據庫開始我們的職業生涯,最早的是dBase/FoxPro,后來有了 SQL系列數據庫, Oracle將數據庫時代推向了頂峰。

      每當有一個新項目時,第一步就是首先設計出數據表結構(Table Schema),然后開始使用SQL語句實現業務邏輯,這種開發模式一直重復,就是后來加入了DelPhI/VB,他們也只是承擔圖形顯示實現,這種C/S結構帶來最大問題是:非常難于維護,修改起來,遷一動百。

      軟件的生命在于運動,當它需要發展時,最棒的軟件人員如果對他也束手無策,這是誰的悲哀?

      現在更多人開始接受B/S結構,但是他們中很多人還沒有真正明白為什么需要B/S結構,B/S代表的多層架構才是真正目的(因此,偽多層的B/S系統遍地皆是)。

      多層架構實際是將以前系統中的顯示功能、業務運算功能和數據庫功能完全分開,杜絕彼此的耦合與影響,從而實現松耦合和良好的可維護性。

      一. 從設計上說:由于實現層次完全分離,業務運算功能成為一種中間功能(中間層),它不依賴具體的表現層技術(Jsp/Html applet等),也不依賴具體數據庫技術(Oracle/SQL Server),業務運算功能運行在J2EE應用服務器中,當我們的業務運算功能不再依賴數據庫時,是否意味著數據庫已經不是重點?

      二. 當然,多層結構帶來了性能問題:客戶端訪問數據庫中的數據時,通常需要經過多個層次,非常耗費性能, 如何盡量減少數據庫訪問是J2EE應用系統首要解決的問題,使用存儲過程并沒有解決這個問題,存儲過程的執行還是屬于后端,并沒有縮短客戶端請求所要經歷的坎坷路途。

      解決性能問題的根本解決之道是使用對象緩存,現在, 64位CPU提供的巨大內存空間為單臺緩存計算提供了硬件基礎,更重要的是,這種緩存計算是可伸縮的,通過集群的緩存機制(如JBossCache), 通過增加應用服務器的數量,可以提高整個業務邏輯層的緩存計算能力,拋棄過去那種為內存斤斤計較的老思維吧。

      三. 在系統分析之初是否首先需要數據表設計呢?回答是否定的, 以UML為代表面向對象的分析設計方法已經成為強大工具,隨著面向模型驅動分析設計(MDA)的普及, 面向數據庫分析方法正在逐步被拋棄,擁有深厚傳統數據庫分析習慣的程序員必須面對和接受這種挑戰。

      縱觀整個J2EE系統開發過程,數據庫已經從過去的中心位置降為一種純技術實現,數據庫只是狀態持久化的一種手段(文件是另外一種實現手段);什么是持久化?這是相對于內存緩存狀態而言,持久化就是當內存斷電情況下能永久保存狀態數據,但是如果J2EE應用服務器是7X24小時集群運行;幾乎永不當機,是否有持久化的必要呢?

      很顯然,數據庫已經淪為與操作系統中文件系統同樣的層面,以它為中心的時代真的結束了,IBM早期將DB2數據庫開源已經強烈向我們昭示這點。

      對于J2EE初學者來說,盡早拋棄過去的兩種影響:過程語言編程習慣和以數據庫為中心的設計習慣,從全新的面向對象角度(OOA、OOD和OOP、AOP)來設計開發你的J2EE系統,J2EE設計開發三件寶:Model、Patterns和Framework

      以上不只是理論,而是我每天正在做的,如果你也是或贊同請廣為傳播,喚醒更多彷徨痛苦的初學者。

    posted on 2006-11-26 09:43 matthew 閱讀(228) 評論(0)  編輯  收藏 所屬分類: 所感所悟
    主站蜘蛛池模板: 亚洲伊人久久大香线蕉综合图片| 亚洲毛片在线观看| 国产成人在线免费观看| 亚洲天堂中文字幕在线| 久久亚洲国产精品成人AV秋霞| 亚洲精品无码成人| 暖暖在线视频免费视频| 日本高清免费网站| 亚洲欧洲第一a在线观看| 少妇性饥渴无码A区免费 | 亚洲欧洲专线一区| 97热久久免费频精品99| 美腿丝袜亚洲综合| 亚洲欧洲AV无码专区| 麻豆国产VA免费精品高清在线| 亚洲国产成人久久综合碰碰动漫3d| 羞羞视频免费网站在线看| 高清国语自产拍免费视频国产| 亚洲欧美国产国产综合一区| 国产男女猛烈无遮挡免费网站 | 免费jjzz在在线播放国产| 亚洲婷婷天堂在线综合| 野花香高清在线观看视频播放免费| 免费a级毛片网站| 成在线人免费无码高潮喷水| 四虎成人精品在永久免费| 亚洲综合久久一本伊伊区| 色欲A∨无码蜜臀AV免费播| 久久久久噜噜噜亚洲熟女综合| 91福利免费网站在线观看| 亚洲国产精品成人AV无码久久综合影院 | 国产精品自拍亚洲| 无人在线直播免费观看| 亚洲视频在线不卡| 成人性生免费视频| 亚洲av无码不卡久久| 18级成人毛片免费观看| 亚洲精品日韩中文字幕久久久| 人妻无码一区二区三区免费| 亚洲V无码一区二区三区四区观看| 中文字幕免费观看全部电影|