Java編程原則

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



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

          評論

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

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

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

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

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

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

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

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

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

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

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

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

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

          不錯(cuò)!有時(shí)間也去看看這本書!  回復(fù)  更多評論   

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

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

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

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

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

          哈哈,買了呀,不喜歡電子書。
          平時(shí)省點(diǎn)花就是了。  回復(fù)  更多評論   

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

          @itkui
          電子書省錢,但是費(fèi)眼睛。  回復(fù)  更多評論   

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

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(11)

          隨筆分類(48)

          文章分類(29)

          常去逛逛

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大兴区| 彰武县| 梧州市| 灵台县| 会昌县| 永州市| 姚安县| 天峻县| 贵港市| 山东省| 金门县| 太和县| 惠安县| 吕梁市| 密云县| 汉川市| 南平市| 邻水| 盱眙县| 西乡县| 杭锦后旗| 册亨县| 讷河市| 东乡| 苍梧县| 尼玛县| 呼图壁县| 韶关市| 延边| 酒泉市| 正宁县| 织金县| 大姚县| 娄底市| 武汉市| 如东县| 马边| 福鼎市| 孟连| 凌云县| 扬中市|