基于SSH2框架構(gòu)建JavaEE應(yīng)用程序(3)
五、面向接口編程
在我看來,面向?qū)ο缶幊蹋?font face="Times New Roman" style="line-height: 22px; ">OOP)最有魅力對(duì)開發(fā)技術(shù)改進(jìn)最有影響力的就是接口,接口定義一套規(guī)范或標(biāo)準(zhǔn),如何實(shí)現(xiàn)取決于他的實(shí)現(xiàn)類,這給開發(fā)人員提供了足夠的靈活性,大大增強(qiáng)了系統(tǒng)的可塑性,為開發(fā)人員提供了更加先進(jìn)有效的擴(kuò)展性能。JDBC是接口應(yīng)用最典型的示例之一,Java JDK定義了一組接口,如Connection、Statement、ResultSet等,但并不作出具體的實(shí)現(xiàn),事實(shí)上,sun公司也沒有能力去實(shí)現(xiàn),因?yàn)椴煌?/font>DBMS有不同的數(shù)據(jù)組織格式,如何連接數(shù)據(jù)庫、如何執(zhí)行SQL語句、如何處理返回的結(jié)果集,sun公司無從知曉,所以,通過接口實(shí)現(xiàn)數(shù)據(jù)訪問的工作巧妙地轉(zhuǎn)移到了數(shù)據(jù)庫提供商,不得不說這招實(shí)在高明。
在我們的系統(tǒng)中,合理利用接口的特征能有效提高系統(tǒng)的擴(kuò)展性和靈活性,尤其Spring的出現(xiàn),通過對(duì)IOC的強(qiáng)化,更加突出了接口的作用,學(xué)習(xí)者更容易從代碼級(jí)別理解接口的意義。Spring無污染非侵入式的設(shè)計(jì),降低了組件替換和功能擴(kuò)展的成本,為開發(fā)人員打開了程序開發(fā)的另一扇窗。
并不是系統(tǒng)中的所有組件都需要提供接口,定義接口時(shí)應(yīng)該先明確功能擴(kuò)展點(diǎn),對(duì)于那些比較固定有一定格式的代碼則無需定義接口,通常情況下,為業(yè)務(wù)類定義一個(gè)接口是不錯(cuò)的選擇,業(yè)務(wù)變更是家常便飯,為業(yè)務(wù)類提供接口有利于我們主動(dòng)適應(yīng)業(yè)務(wù)的變化。
Eclipse將“重構(gòu)”做得比較強(qiáng)大了,如果你的業(yè)務(wù)類還沒有接口,通過“Refactor->Extract Interface”菜單可以自動(dòng)為業(yè)務(wù)類生成相應(yīng)的業(yè)務(wù)接口。
posted on 2011-02-26 08:27 李贊紅 閱讀(2062) 評(píng)論(0) 編輯 收藏