亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺議Java軟件開發(fā)中幾種誤區(qū)

        2012-12-31 00:00:00孫磊賈寶強曾翠翠
        網(wǎng)絡與信息 2012年7期

        隨著編程技術的快速發(fā)展,Sun公司開發(fā)的Java,以其簡單、面向對象、分布式、健壯性、安全與系統(tǒng)無關、可移植的特點贏得了眾多編程人員的青睞,但是在實際開發(fā)過程中存在一些認識上和方法上的誤區(qū),導致開發(fā)的項目出現(xiàn)一些問題,下面就來分析一下這些誤區(qū)。

        1.只注重系統(tǒng)當前功能,忽視軟件架構的誤區(qū)。

        萬丈高樓平地起,要想開發(fā)一個好的系統(tǒng),基礎結構很重要,一個好的軟件不僅僅滿足于它的功能,還必須有一個靈活的、結構清晰、可復用性好、擴展性強、維護方便的的基礎架構。一個靈活的、低耦合的、可擴展的框架將使你在開發(fā)中事半功倍,便于協(xié)作開發(fā)和擴展升級;反之,一個架構不好、沒有擴展性的框架在未來由于功能的成長,會因為架構不好不利于加入新的功能,使你在開發(fā)中陷入困境。

        正因為很多人對軟件存在只滿足于目前的功能,沒有考慮到今后的發(fā)展,開發(fā)的軟件擴展性不強,從而造成軟件的生命周期縮短。打好軟件的基礎架構不僅僅是選擇一些流行的諸如Spring、Hibernate、Jdonframework之類的框架,還取決于如何合理使用這些框架來搭建你的系統(tǒng),我們使用框架時不能知其然而不知其所以然,如果一個框架不能協(xié)助你實現(xiàn)分層架構,那就拋棄它,不要盲目跟從,避免陷入復雜的技術細節(jié)迷霧中,迷失了架構選擇的根本方向。

        2.系統(tǒng)中層次不清,互相侵蝕的誤區(qū)。

        Java軟件系統(tǒng)中一般分為表現(xiàn)層、業(yè)務層和持久層,三個層次應該分割明顯,職責分明,以增強系統(tǒng)可移植性、擴展性和維護性。

        其中持久層由Java對象持久化類和數(shù)據(jù)訪問對象(DAO)組成。每個數(shù)據(jù)庫表都對應著一個持久化對象,這樣就屏蔽了具體的數(shù)據(jù)庫和具體的數(shù)據(jù)表、字段,給予了開發(fā)者使用OO思想設計和開發(fā)的便利,消除了對數(shù)據(jù)庫操作的硬編碼在重用性上的弊端。

        持久層只是持久化保存數(shù)據(jù)對象,業(yè)務層再對持久層進行調用。在應用中,要避免本末倒置,將復雜的業(yè)務加到持久層中去,同樣,也應該避免讓持久層侵蝕業(yè)務層,在業(yè)務層中應該只看到對業(yè)務對象的操作,而不是在業(yè)務層到處可見數(shù)據(jù)表或字段名,盡量做到“上帝的歸上帝,凱撒的歸凱撒”。

        例如存儲過程的使用,在以前集中數(shù)據(jù)庫時代,依靠存儲過程解決了一些性能問題,但在現(xiàn)在多用戶、大訪問量的情況下,J2EE應用服務器技術、中間層服務器集群技術和分布式技術發(fā)展成熟的今天,再把負載都用數(shù)據(jù)庫端的存儲過程來解決,用持久層來解決大量業(yè)務問題,很多時候會適得其反,降低性能。當然上面這些并不是完全否定存儲過程,適量使用,使用數(shù)據(jù)庫優(yōu)點也是允許的。

        3. ORM問題在應用中的誤區(qū)

        Object/Relation Mapping(ORM)技術是為了解決關系型數(shù)據(jù)庫和面向對象的程序設計之間不匹配的矛盾而產(chǎn)生的。Hibernate是目前最為流行的ORM框架,它在關系型數(shù)據(jù)庫和Java對象之間做了一個自動映射,使得程序員可以以非常簡單的方式實現(xiàn)對數(shù)據(jù)庫的操作。通過對JDBC的封裝,向程序員屏蔽了底層的數(shù)據(jù)庫操作,使用時只需要操縱對象,使程序員專注于OO程序的開發(fā),使開發(fā)更對象化,提高了開發(fā)效率。程序員所需要做的就是編制xml映射文件,拋棄了數(shù)據(jù)庫中心的思想,從而完全的面向對象思想。數(shù)據(jù)庫結構改變時只需要更改配置文件,不會對應用程序產(chǎn)生影響,它沒有侵入性,即所謂的輕量級框架,移植性會很好。Hibernate還有自己的面向對象的查詢語言HQL,HQL功能強大,支持Oracle、DB2、MySQL、 Microsoft SQL Server等主流數(shù)據(jù)庫,是目前應用最廣泛的O/R映射工具。為快速開發(fā)應用程序提供了底層的支持。

        由于Hibernate的流行,Hibernate越來越受到開發(fā)者的歡迎,運用Hibernate作為數(shù)據(jù)持久化的開源框架也越來越多。但是作為一種技術,它也有自己的短板,就是在批量數(shù)據(jù)處理時有弱勢,Hibernate的特性決定了它適合于針對單一對象簡單的操作,而對于大批量對象的操作,則不適合用Hibernate,這也是OR框架的弱點,要使用數(shù)據(jù)庫的特定優(yōu)化機制的時候,也不適合用Hibernate。然而在實際應用的時候不少用戶卻忽視了這一點,很多開發(fā)人員在對Hibernate的優(yōu)缺點不是很了解的情況下,應用了Hibernate,結果在用戶訪問量大時,出現(xiàn)內存泄漏,導致了服務器死機,還有就是諸如對lazy的使用不當、關聯(lián)過多造成的數(shù)據(jù)加載緩慢等問題,都是因為開發(fā)人員對Hibernate一知半解的情況下貿然使用而造成的,因此使用時要格外當心。

        4.喜新厭舊,過分追求新技術的誤區(qū)。

        很多開發(fā)人員在開發(fā)中經(jīng)常使用一些不成熟的、自己不甚了解的技術,把它當做自我挑戰(zhàn)的機會,這就無形中加大了項目開發(fā)的難度,應該盡量使用一些自己熟悉的、相對成熟的技術,降低開發(fā)成本和風險。

        5.過分注重軟件功能,忽視用戶體驗的誤區(qū)。

        開發(fā)過程中有時會過分追求“完美”,造成“大而全”的現(xiàn)象,而對用戶使用的方便性認識不夠,有時會降低軟件的友好度。

        以上從幾方面談了一下Java在實際應用是容易遇到的問題和誤區(qū),希望對大家有所幫助。

        參考文獻

        [1]Cay S. Horstmann ,Gary Cornell .《Java核心技術》.

        [2]Bruce Eckel.《Java編程思想》.

        [3]付京周 .《精通Hibernate ——Java數(shù)據(jù)庫持久層開發(fā)實踐》.

        [4]夏昕 ,曹曉鋼, 唐勇.《深入淺出Hibernate》.

        久久久久亚洲av无码a片| 色综合久久加勒比高清88| 亚洲精品国产不卡在线观看| 亚洲激情一区二区三区视频| 丰满人妻猛进入中文字幕| 久久久久99精品成人片直播| 国产亚洲情侣一区二区无| 女的把腿张开男的猛戳出浆| 中文字幕久久人妻av| 在线观看国产成人av天堂野外| 国产午夜精品一区二区| 国产亚洲日韩欧美一区二区三区| 素人激情福利视频| 在线观看在线观看一区二区三区| 亚洲欧洲成人精品香蕉网| 国产一女三男3p免费视频| 久久国产乱子伦精品免费强| 羞涩色进入亚洲一区二区av | 熟女体下毛荫荫黑森林| 青草视频在线播放| 中文字幕无码日韩欧毛| 久久精品久久精品中文字幕| 一区二区和激情视频| 无码国产午夜福利片在线观看| 久久99精品久久久66| 视频一区精品中文字幕| 国产av熟女一区二区三区| 亚洲av中文无码乱人伦在线r▽| 人妖另类综合视频网站| 日本一区二区免费看片| 无码av不卡一区二区三区| 精品亚洲aⅴ在线观看 | 国产成人高清视频在线观看免费| 久久亚洲av无码精品色午夜| 欧美性开放bbw| 久国产精品久久精品国产四虎 | 国产精品亚洲A∨无码遮挡| 天涯成人国产亚洲精品一区av| 欧美老妇多毛xxxxx极瑞视频| 婷婷亚洲综合五月天小说| 秀人网嫩模李梓熙大尺度|