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

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

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

    test html
    隨筆-10  評(píng)論-6  文章-0  trackbacks-0
    《JAVA與模式》這本書,一年前就買了,但說真的,當(dāng)時(shí)真的是只看得懂字,看不明白道理!
    所以當(dāng)有空時(shí)我就又拿出來翻翻,這次對(duì)于第3章的軟件可維護(hù)性與可復(fù)用性,特別有感觸!

    我也不想拋很多技術(shù)名詞出來(開-閉 原則之類的),親身經(jīng)歷告訴我,如果看的人不是自己明白其中的道理,那他看多了這種名詞,就習(xí)慣的把他當(dāng)口頭語來用了,已經(jīng)明白的人,自然有比我更高的認(rèn)識(shí)。

    所以我選擇一種比較“俗”的方式,說出我的體會(huì)。(因?yàn)槲揖褪且凰兹耍?br>
    還是回到接口上來吧,什么時(shí)候接口才能起作用?當(dāng)你需要處理將來不斷變化的需要時(shí)!

    有這么一個(gè)場(chǎng)景:

    某導(dǎo)演要拍個(gè)大片,然后開會(huì)時(shí)他對(duì)助手說出要找女一號(hào),并對(duì)女一號(hào)要求如下:

    1。全國(guó)知名女性;
    2。有絕世容貌;
    3。身材一流;

    好了先說這3個(gè)吧。

    助手根據(jù)要求去找來 某某女明星A,但助手知道,導(dǎo)演老人家不會(huì)一看就看中的,所以準(zhǔn)備聯(lián)系了女明星B,女明星C.

    果然,導(dǎo)演開始覺得女明星A還不錯(cuò),但是沒過2天,覺得要換,(演藝圈的事誰說得清呢),這時(shí)助手馬上有B,C來代替!

    助手的工作應(yīng)變十分的好,導(dǎo)演大大的有賞!

    現(xiàn)在我們來簡(jiǎn)單分析下:

    把導(dǎo)演對(duì)女明星的要求作為接口的定義。
    該接口是三個(gè)特征的集合:

    1。全國(guó)知名女性;
    2。有絕市容貌;
    3。身材一流;

    導(dǎo)演只是根據(jù)符合這3個(gè)特征要人,而助手根據(jù)這3個(gè)特征去找人,顯然女明星 A,B,C 必須同時(shí)符合這3個(gè)特征,(也就是實(shí)現(xiàn)了這個(gè)接口)

    導(dǎo)演在不滿意  女明星 A 后,能迅速找到 B ,C 做替換,助手自然是功不可沒,但根本原因,是因?yàn)閷?dǎo)演的要求是放在 特征的集合 上.

    試想如果導(dǎo)演當(dāng)初是指名到姓的要誰誰做女一號(hào),然后找來又不滿意了,要求這么具體,助手哪能那么快找來其他人代替?

    下面開始要拋點(diǎn)名詞了,我把這里導(dǎo)演的先見之明叫做 “依賴抽象”!

    public interface  女一號(hào){

        public void 全國(guó)知明女性();
        public void 有絕世容貌();
        public void 身材一流();

    }

    public class 女明星A implements 女一號(hào){

        public void 全國(guó)知明女性(){
         張某某;
        }
        public void 有絕世容貌(){
        貌似天仙;
        }
        public void 身材一流(){
        三圍(75c,38,80)
        }
    public class 女明星B implements 女一號(hào){

        public void 全國(guó)知明女性(){
         某某姐姐;
        }
        public void 有絕世容貌(){
        嚇?biāo)缆愤呉活^牛;
        }
        public void 身材一流(){
        三圍(80d,45,95);
        }

    public class 女明星C implements 女一號(hào){

        public void 全國(guó)知明女性(){
         某某神仙;
        }
        public void 有絕世容貌(){
         人見人愛;
        }
        public void 身材一流(){
        三圍(70c,35,80);
        }
    }






    posted on 2007-05-01 12:17 我們走在JAVA的光明大道上 閱讀(538) 評(píng)論(2)  編輯  收藏 所屬分類: 接口的藝術(shù)

    評(píng)論:
    # re: 對(duì)面向接口編程的體會(huì)(2) 2007-05-02 14:44 | Qin Zhimou
    很好!!!
      回復(fù)  更多評(píng)論
      
    # re: 對(duì)面向接口編程的體會(huì)(2) 2007-05-03 22:03 | 擴(kuò)展標(biāo)記
    對(duì)于接口我其實(shí)也不知道它那些具體的實(shí)現(xiàn)細(xì)節(jié),但我知道它的目的,而且我覺得好象我也只想也只需知道它的目的,我就簡(jiǎn)單說吧,
    這不得不先從面向?qū)ο蟮囊粋€(gè)重要特性多態(tài)說起,簡(jiǎn)單說多態(tài)的目的就是為能用一個(gè)統(tǒng)一的接口去實(shí)現(xiàn)(驅(qū)動(dòng))不同的實(shí)現(xiàn)(各個(gè)實(shí)現(xiàn)這個(gè)接口的類的處理函數(shù),這個(gè)處理函數(shù)就是接口里聲明但沒給出具體代碼的那個(gè)函數(shù),即名稱一樣),就好象用一個(gè)標(biāo)準(zhǔn)的三角插座就可給任何電器供電一樣。
    假設(shè)我們定義一個(gè)接口“供電系統(tǒng)”,“供電系統(tǒng)”里聲明了一個(gè)方法“三角插座()”,那么實(shí)現(xiàn)這個(gè)接口(可理解為遵循此接口協(xié)議,就好象各電器廠商都遵守國(guó)際插座標(biāo)準(zhǔn)尺寸一樣)的各種類(各類電器)就可以都只用這種統(tǒng)一化的"三角插座()"就行了。往后當(dāng)我們?cè)O(shè)計(jì)到一個(gè)想用電的類時(shí),就可直接去接(調(diào)用)這個(gè)三角插座(),而且要注意的是任何實(shí)現(xiàn)(遵循)此接口的類都可以調(diào)用相同的“三角插座()”這個(gè)接口。
    說到此你可能覺得這個(gè)道理其實(shí)你也明白,主要是不明白于為什么java要那么做?這還得從人類這個(gè)東西說起,要知道這世界是以人類為主的,當(dāng)然什么事都要以人為本了,人類是惰性的動(dòng)物,什么都圖方便,發(fā)明多態(tài)也是,你先別管它那些污七八糟的概念,其目的就是為模仿現(xiàn)實(shí)生活的,簡(jiǎn)單說就是標(biāo)準(zhǔn)化,說穿了也還是為了方便,總之我們生活處處是標(biāo)準(zhǔn),目的也就想處處方便。回到編程領(lǐng)域也是,多態(tài)就是為達(dá)到用一個(gè)統(tǒng)一的動(dòng)作(如相同的接口名)來達(dá)到驅(qū)動(dòng)多種機(jī)器的目的,就好象一個(gè)標(biāo)準(zhǔn)的三角插座就可驅(qū)動(dòng)所有遵守此插座協(xié)議的電器一樣,這就是目的,那么回到手段就是編譯器的事了,java采用了獨(dú)立化的接口的方式(注:有些語言并沒有突出接口的概念,比如c++的抽象也可以實(shí)現(xiàn)同樣功能),這也不過是java實(shí)現(xiàn)以上目的的手段而已,你別追究它為什么這樣,這是它的方式,你就管記住那段幾乎是固定化的實(shí)現(xiàn)接口的代碼塊。
    重申一次:弄清它的目的,別管它用什么手段,把它背下來得了。
      回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    test html.....
    主站蜘蛛池模板: 国产成人免费a在线资源| a视频免费在线观看| 亚洲国产欧美日韩精品一区二区三区| 亚洲国产夜色在线观看| 亚洲美女视频一区二区三区| 久久亚洲私人国产精品vA| 亚洲欧洲日韩不卡| 亚洲精品无码久久毛片波多野吉衣 | 久久夜色精品国产噜噜亚洲a| 久久久久久亚洲精品影院| 亚洲欧洲无卡二区视頻| 亚洲欧美不卡高清在线| 亚洲AV成人无码网天堂| 羞羞漫画在线成人漫画阅读免费| 男女猛烈无遮掩视频免费软件| 又粗又长又爽又长黄免费视频 | 久久精品免费一区二区三区| 免费网站看av片| 亚洲无砖砖区免费| 成年在线观看网站免费| 国产高清免费在线| 国产精品亚洲不卡一区二区三区| 亚洲中文字幕无码爆乳AV| 亚洲AV无码成人精品区在线观看 | 亚洲成年看片在线观看| 在线观看亚洲av每日更新| 亚洲av网址在线观看| 亚洲一区二区免费视频| 色窝窝亚洲av网| 久久久久久久久久免免费精品| 99久热只有精品视频免费看| 免费看国产精品3a黄的视频| 免费中文字幕一级毛片| 亚洲日韩精品A∨片无码| 久久久久亚洲av无码专区喷水| 亚洲www77777| 国产免费伦精品一区二区三区 | 在线观看亚洲视频| 久久久久久AV无码免费网站下载 | 国产黄在线观看免费观看不卡| 久久A级毛片免费观看|