• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    閑侃設計模式

    發布: 2008-5-21 10:24 | 作者: 不詳 | 來源: 不詳 | 查看: 14次 | 進入軟件測試論壇討論

    領測軟件測試網  和許多人一樣,第一次接觸設計模式也是從《設計模式》開始的,在拜讀完這本巨著后,在感到深深的震憾之余,還有一種將這本書推薦給公司里每個家伙閱讀的強烈沖動?墒菐讉頗有面向對象編程能力的家伙卻告訴我,這本書太深奧、太抽象了,看得叫人感到頭昏眼花、云里霧里。
        那時,我除了郁悶還有納悶,郁悶的是這么偉大的書,這些家伙卻一致反映很難看懂,看不懂,還如何從中吸取豐富的營養,迅速提高軟件設計水平,從而提高產品質量?納悶的是為什么這些家伙會一致反映看不懂,而我自己卻沒有這樣的感覺呢?后來通過和這群家伙交流我才知道,他們不像我那樣擁有豐富的程序設計經驗,經歷過的東西太多(我先自吹自擂一番),因此在閱讀這本書時,從自己過去眾多的設計中挑選出相似的案例來進行對比,而他們卻很難有這么多的案例去擬合每個設計模式,沒有“實物”做參照物,閱讀、理解自然是一個痛苦而漫長的過程。如果我想幫助這群家伙的話,只有“翻譯”這本書,如何“翻譯”?用常見的實例,用程序員的“語言”來解釋設計模式,而不再使用原著中抽象的。

        從那里開始呢?首先從回答兩個問題說起吧。

        第一個是學習設計模式最好從那個設計模式開始?
        第二個是我最喜歡那個設計模式?

        我認為回答第一個問題可以反映出回答者的“心態”,而回答第二個問題則反映出回答者的“心境.我的答案是,學習設計模式最好從“適配器”開始,我最喜歡的設計模式是“策略”。先說反映心態的“適配器”,程序員在成長過程中都有這樣的極其相似經歷:在別人寫的代碼基礎上繼續,比如完善或者維護別人寫的程序。通常你我做的其實大同小異,先會去閱讀已經寫好的代碼,感覺差不多了,下步動作是什么?60%的人不是開始“繼續的”工作,而是開始改寫、甚至是重寫代碼,還有40%的人是在“繼續工作”,完成新東西的設計后,回頭再來改寫、甚至是重寫代碼。我敢打賭,只有不到10%的人會在別人的基礎上“繼續”工作。改寫、重寫的理由是什么,無非是別人寫的太土、太臭,不改寫、重寫,心里不舒服,更“好”的理由是,和我“繼續”的思路不同,比如接口不兼容,我寫不下去,因此只有改寫,改的太多,我又比較能干,因此干脆重寫!

     其實……其實……下一個在你工作基礎上繼續工作的家伙,和你的想法一樣,你一樣土,一樣臭,他一樣比你高明,一樣會改寫、重寫你引以為自豪的代碼。唉,就因為是軟件,你我可以拿到源代碼,因此你我手才會癢,才會有改寫、重寫的奇怪念頭,想想硬件,自己沒那個本事,也沒有那個條件去重新設計、制造另一個主板,來實現一個滿足自己需要的接口。每次開發一個接口卡的時候,你我還不是老老實實按“規范”去設計接口,再按自己的需要做個“適配”處理?!同樣你有改寫API的沖動嗎,老實說我經常有,我特別討厭win32API的許多接口,羅嗦不說,還無法提供我想要的全部功能,麻煩死了。但我改不了,因為沒有本事改,也無法改。老實說,那些宣稱喜歡linux的家伙,肯定有一堆想“改進”linux內核的自負家伙,我就遇到好多好多。那么改寫、重寫的效果如何呢,老實說,我自己有很深的體會,步入管理崗位后體會更深,客氣點“條條道路通羅馬”吧,心情不佳的時候“50步笑100步”吧,還不說時間(你總不至于聰明到1秒鐘內修改完成吧)、成本(你改寫、重寫、測試的那段時間,你不會給老板說你不要工資吧)了。如果你心平氣和去對比,你會發現我說的絕對一點不夸張、過分。

     說了這么一大堆,就是想說,如果你想提高自己的工作效率,你想做更有意義的事情,你不想重復去造一個別人已經造好的輪子的話,下次遇到在別人工作基礎上“繼續”這樣的“美差”的時候,首先要想到“適配器”設計模式,適配器設計模式太簡單了,簡單到我認為不需要說什么了,其實你能否有機會使用適配器模式,主要是看你的心態,我相信你一定能掌握他,不就是匹配個接口嘛。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 模式 設計


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>