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

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

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

    John Jiang

    a cup of Java, cheers!
    https://github.com/johnshajiang/blog

       :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理 ::
      131 隨筆 :: 1 文章 :: 530 評論 :: 0 Trackbacks
    Design Patterns are Code Smells
    上個月就在TheSeverSide中看到關(guān)于這篇文章(實際是一篇簡短的Blog)的消息,當(dāng)時就覺得很有趣,因為自己正在學(xué)習(xí)設(shè)計模式,故將這篇短文保存了下來。昨天在自己電腦中又看到了此文,順手就把它翻譯了出來。
    這篇Blog的作者認(rèn)為大部分設(shè)計模式在代碼層都是code smell,在文末評論中有Google Guice項目的leader -- Bob Lee的評語。Bob對作者的觀點表示了贊同,但也指出框架可以減輕對模式的需要。(2007.06.04最后更新)

    在原始的Gof的書中,作者清楚地指出當(dāng)你在使用設(shè)計模式時,
        程序設(shè)計語言的選擇是重要的,因為它會影響某人的觀點。我們的模式假設(shè)是使用Smalltalk/C++語言級特性,這種選擇決定了什么容易/不容易實現(xiàn)(Design Patterns, p.4)。
    不幸的是,這條信息基本上被丟棄了,程序員們時常將模式當(dāng)作處方。Martin Fowler解釋了區(qū)別:
        處方趨于更加特別,經(jīng)常關(guān)聯(lián)于一個特別的語言和平臺。甚至當(dāng)一些模式需要依賴一個特定的平臺時,他們?nèi)栽噲D于用這些模式去解釋更加一般的概念。
    如果你已經(jīng)遇到一個Java或C#應(yīng)用程序看起來像C++的處理方式,你就會知道這兩個概念的混合將造成損害。
    不管你如何從處方中區(qū)分出模式,你所思考的程序設(shè)計語言就是你要為之所設(shè)計的程序語言。這也就是為什么Prags鼓勵每個人每年學(xué)習(xí)一種新的語言。你將仍會為你所知道的這組語言進行設(shè)計,但至少你將不會沒有希望。
    程序語言提前使模式不能成為藥方。回到1998年,Petter Norvig爭論道,大部分的原始Gof模式在Dylan或Lisp中都是無形或簡單的。之后,Greg Sullivan對Scheme持同樣的觀點。Jan Hannemann也使用Java+AspectJ證明了相同的觀點。設(shè)計模式不能如處方那樣發(fā)揮良好。它們最多是周期性的。
    在代碼級別,大部分的設(shè)計模式都是代碼異味(code smells)。當(dāng)程序員在代碼檢查中看到了設(shè)計模式,他們就會滑入到催眠般的熟悉場景中。醒醒!那是一個設(shè)計模式,或者說是一個來自腐臭程序語言的失效藥方?


    posted on 2007-06-04 09:00 John Jiang 閱讀(556) 評論(2)  編輯  收藏 所屬分類: Others翻譯Methodology

    評論

    # re: Design Patterns are Code Smells(譯)[未登錄] 2007-06-29 16:10 sitinspring
    Very funny!  回復(fù)  更多評論
      

    # re: Design Patterns are Code Smells(譯) 2007-07-02 08:24 Sha Jiang
    I have the same view :-)  回復(fù)  更多評論
      

    主站蜘蛛池模板: 亚洲精品成人久久久| 久久久亚洲欧洲日产国码aⅴ| 久久久久久噜噜精品免费直播| 亚洲色偷偷偷鲁综合| 日本免费人成在线网站| 蜜桃传媒一区二区亚洲AV | 亚洲高清专区日韩精品| 青青青国产在线观看免费网站| 黄色毛片免费网站| 亚洲午夜免费视频| 免费夜色污私人影院在线观看| 99久久人妻精品免费二区| 亚洲av乱码中文一区二区三区| 亚洲人精品午夜射精日韩| 女性自慰aⅴ片高清免费| 国产一级a毛一级a看免费视频 | 亚洲中文字幕无码久久| 亚洲人成网77777色在线播放| 国产精品成人免费一区二区| 国产日韩精品无码区免费专区国产| 亚洲性线免费观看视频成熟| 亚洲色WWW成人永久网址| 日韩中文字幕在线免费观看| 久久国产精品2020免费m3u8| 无人视频免费观看免费视频 | 亚洲AV无码男人的天堂 | 国产免费无码AV片在线观看不卡| 亚洲日本VA中文字幕久久道具| 亚洲AV日韩精品久久久久久| 亚洲国产精品尤物yw在线| 成年女人免费视频播放77777| 久久精品免费观看| 色爽黄1000部免费软件下载| 久久亚洲国产成人影院| 久久亚洲精品人成综合网| 国产亚洲?V无码?V男人的天堂 | 99亚偷拍自图区亚洲| 亚洲综合网美国十次| 亚洲AV永久无码精品水牛影视| 亚洲成人影院在线观看| 韩国日本好看电影免费看|