Java編程原則

               《Java與模式》這本書對于我的影響很大,我總結(jié)了書中的幾條編程原則,總結(jié)得不全面,請大家補充。
          1“開-閉”原則:一個軟件實體應(yīng)該對擴展開放,對修改關(guān)閉,這個原則說的是,在設(shè)計一個模塊的時候,應(yīng)當使這個模塊可以在不被修改的前提下被擴展,換言之,應(yīng)當可以在不被修改源代碼的情況下改變這個模塊的行為。
          2對可變性的封裝原則:找到一個系統(tǒng)的可變因素,將它封裝起來。
          3將一個進行多次條件轉(zhuǎn)移的商業(yè)邏輯封裝到不同的具體子類中,從而使用多態(tài)性來代替條件轉(zhuǎn)移語句。
          4由于抽象類不可以實例化,因此一個設(shè)計師設(shè)計一個新的抽象類,一定是用來繼承的,而這一聲明倒過來也是對的:具體子類不是用來繼承的。
          5在一個從抽象類到多個具體類的繼承關(guān)系中,共用的代碼應(yīng)當盡量移動到抽象類里。
          6與代碼的移動方向相反,數(shù)據(jù)的移動方向是從抽象類到具體類。
          7一般而言,如果兩個具體類A和B有繼承關(guān)系,那么一個最簡單的修改方法應(yīng)當是建立一個抽象類C,然后讓類A和類B成為抽象類C的子類。
          8要針對接口編程,不要針對實現(xiàn)編程,要保證做到這一點,一個具體Java類應(yīng)當只實現(xiàn)Java接口和抽象Java類中而不應(yīng)當給出多余的方法。
          9只要一個被引用的對象存在抽象類型,就應(yīng)當在任何引用此對象的地方使用抽象類型,包括參量的類型聲明、方法返回類型的聲明、屬性變量的類型聲明等。
          10優(yōu)先考慮將一個類設(shè)置為不變類,即使一個類必須是可變類,在給它的屬性設(shè)置賦值方法的時候,也要保持吝嗇的態(tài)度。
          11盡量降低成員的訪問權(quán)限。
          12如果一個類可以設(shè)置成package-private的,那么就不應(yīng)當將它設(shè)置為public。
          13在需要一個變量的時候才聲明它,可以有效地限制局部變量的有效范圍。
          14一般而言,for循環(huán)比while循環(huán)稍好一點。
          15要針對抽象編程,不要針對具體編程。



          posted on 2007-05-17 17:37 我為J狂 閱讀(1812) 評論(12)  編輯  收藏 所屬分類: 設(shè)計模式

          評論

          # re: Java編程原則 2007-05-17 21:20 劉甘泉

          srp,ocp,lsp,isp,dip都是ood的原則  回復  更多評論   

          # re: Java編程原則 2007-05-18 14:22 dreamstone

          Java與模式是本好書啊,講解方式易于理解,而且夠詳細.
          但問題也在這,這么大一本看著就有點怕,我是歷時1年,差不多分三次才看完這本書.每次看一部分后就有點不想看了.等一下繼續(xù),不過發(fā)現(xiàn)這種方式來看反而比集中一下看完收獲更多些.  回復  更多評論   

          # re: Java編程原則 2007-05-18 15:06 zjftlx@21cn.com

          只可惜在J2me中應(yīng)用的時候,很多都受限制  回復  更多評論   

          # re: Java編程原則 2007-05-18 15:27 我為J狂

          @dreamstone
          同意您的看法,我也是斷斷續(xù)續(xù)的閱讀了這本書,每次讀完都很受啟發(fā)。  回復  更多評論   

          # re: Java編程原則 2007-05-18 15:29 我為J狂

          @zjftlx@21cn.com
          不太了解J2ME,不過我想編程模式應(yīng)該差不多吧!  回復  更多評論   

          # re: Java編程原則 2007-05-18 16:10 dreamstone

          @zjftlx@21cn.com
          是啊,java中的模式是為了擴展性,是為了好維護,必然造成一定的資源占用,而j2me的程序最敏感的就是資源了。是會有很多限制。  回復  更多評論   

          # re: Java編程原則 2007-05-19 10:28 L2

          不錯!有時間也去看看這本書!  回復  更多評論   

          # re: Java編程原則 2007-06-09 21:58 itkui

          現(xiàn)在就去當當網(wǎng)上買本!  回復  更多評論   

          # re: Java編程原則 2007-06-10 08:36 我為J狂

          @itkui
          http://www.aygfsteel.com/lzqdiy/archive/2007/05/02/115000.html下載電子版,可以省不少銀子。  回復  更多評論   

          # re: Java編程原則 2007-06-10 13:47 itkui

          哈哈,買了呀,不喜歡電子書。
          平時省點花就是了。  回復  更多評論   

          # re: Java編程原則 2007-06-10 15:45 我為J狂

          @itkui
          電子書省錢,但是費眼睛。  回復  更多評論   

          # re: Java編程原則 2007-06-13 23:18 itkui

          書已經(jīng)到了呀,很不錯的。。
          開篇說的就是道家思想,我本人就愛看道德經(jīng)!
          比較不錯!!!  回復  更多評論   

          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統(tǒng)計

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 彰化县| 藁城市| 东乌珠穆沁旗| 徐州市| 玛多县| 惠安县| 许昌市| 柳州市| 临邑县| 博罗县| 邻水| 大足县| 马尔康县| 县级市| 仙桃市| 吉水县| 堆龙德庆县| 沾益县| 嘉善县| 沧州市| 龙门县| 吐鲁番市| 崇阳县| 安康市| 三明市| 神农架林区| 凌海市| 都匀市| 凤翔县| 探索| 多伦县| 福建省| 交口县| 修水县| 沭阳县| 克东县| 门头沟区| 白河县| 华阴市| 虞城县| 嘉定区|