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

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

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

    PC的blog

    Finding... Thinking... Solving...

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      9 Posts :: 0 Stories :: 54 Comments :: 0 Trackbacks

    我的評論

    @zhuxing

    有些年頭了,不過寫java代碼還沒超過10年,你呢?

    你覺得這樣做繁瑣,請問如何做才簡單?能不能貼出你認為簡單的代碼?有時候旁觀和自己動手做的感覺是完全不一樣的。還有,別忘了要把簡單留給使用你代碼的人,而把繁瑣留給自己。

    有msn么?咱倆好好聊聊。:-)
    @zhuxing

    那個反射主要是為了分析@FactoryMethod注釋,用意很清晰:減少不必要的編碼。狀態增加后,程序員只需要增加一個帶@FactoryMethod的方法就行了。
    re: 申請加入“架構師之家” polygoncell 2008-08-05 18:16  
    申請加入,謝謝。

    ID: polygoncell
    @zhuxing

    我又仔細的考慮了一下,覺得靜態方法在這里并不適用,因為我們需要針對不同的狀態寫出完全不同的邏輯來處理狀態。靜態方法通常適用于參數實例繁多而邏輯相同的情況。
    @隔葉黃鶯

    這位兄弟挺逗的!呵呵。那個4是怎么得來的?

    兄弟沒必要這么針對我吧,我沒招惹你吧。真的是做個實驗,你可以看看我以前的文章。

    哦,對了,樓上眾位兄弟哪位能夠幫我分析一下:我應該有如何處理自己原創的文章的自由吧? 而且看與不看全憑自愿,為什么有些朋友的反應會這么激烈?最好那些反應過激的朋友能站出來說說你們的想法,大家交換一下意見,謝謝。
    @BeanSoft

    map沒有使用一大團if else,HashMap的代碼如下:

    public V get(Object key) {
    if (key == null)
    return getForNullKey();
    int hash = hash(key.hashCode());
    for (Entry<K,V> e = table[indexFor(hash, table.length)];
    e != null;
    e = e.next) {
    Object k;
    if (e.hash == hash && ((k = e.key) == key || key.equals(k)))
    return e.value;
    }
    return null;
    }

    而且Map已經封裝好了,對于我們使用者來說是沒有if else的。 現在編碼強調的是粒度適度,便于測試,便于閱讀。
    @zhuxing

    理論上來說,creation method也是可以的,不過這樣一來就導致Performer類和過多的其他類產生耦合(因為處理每一個狀態需要用到完全不同的類),我用factory就是為了保持performer干凈。要是一定要用creation method的話,performer都可以省了,直接寫一個復雜的enum,而每一個enum實例正好就是creation method。
    @Unmi

    我也就是這次試驗一下這么寫,效果不好的話會考慮下次換個方式。
    @千里冰封

    呵呵,可別超過3個。 對了,你的那個音樂播放器挺不錯的。
    呵呵,大家的反應很激烈啊!

    我這里只是使用一個簡單的例子來解釋如何使用重構來移除if else,實際應用邏輯當然要復雜很多。

    的確有一些程序員覺得一個方法里面使用一大堆if else很方便,其實這只是對他自己方便,別人閱讀他的這一大堆if else會很頭疼。

    我這樣重構看似增加了代碼量,實則封裝了大量的技術細節。

    建議大家去讀讀refactoring to patterns這本書,書中就講到了一個結對重構(該書的作者和一個程序員)的例子,最開始那個程序員也覺得重構完后,代碼量明顯增加,他很不爽,但是后來他熟悉了那些模式后才發現他以前的做法是錯誤的,應該進行這樣的重構。
    re: Hibernate user type polygoncell 2008-03-29 00:19  

    本書的命題是“入門和精通”,網上提供的章節僅僅是入門級別的內容,是為那些完全沒有Hibernate基礎的同學準備的。 那些已經了解Hibernate的同學一定會覺得這些章節很乏味,這是很正常的,因為你們已經掌握了這些入門級別的內容,再看一遍,自然乏味。但是請你們為那些從來沒有接觸過Hibernate的同學考慮一下,他們非常需要一個相對淺顯易懂的臺階來幫助他們“入門”。這就是我撰寫前幾章入門內容的初衷。

    對于那些已經了解Hibernate的朋友們,請你們靜下心來閱讀后面深入內核的章節,在這些章節中,我是從構架的角度講解了Hibernate的幾個主要的模塊,舉例印證,圖文并茂,大部分內容源于實際項目。如果通讀完全書,還有朋友認為這本書“不怎么樣”,那么我作為這本書的作者,在這里誠心誠意的期盼著你們的寶貴意見,對于正確的意見,我將會在本書的后續版本中加以采納。

    不論如何,非常感謝大家對本書的關注。
    主站蜘蛛池模板: 亚洲午夜精品国产电影在线观看| 亚洲综合伊人久久大杳蕉| 亚洲成a人片在线观看中文!!!| 免费无码又爽又刺激一高潮| 国产成人精品久久亚洲| 免费大片av手机看片| 亚洲福利在线播放| 一级毛片免费不卡直观看| 国产亚洲精品资在线| 久久久受www免费人成| 无码乱人伦一区二区亚洲| 久久九九AV免费精品| 亚洲国产av高清无码| 青青草国产免费久久久下载| 精品免费AV一区二区三区| 亚洲日韩在线中文字幕第一页 | 久久精品国产精品亚洲蜜月| 少妇无码一区二区三区免费| 亚洲最大福利视频网站| 成人毛片18女人毛片免费| 亚洲国产精品嫩草影院| 2022中文字字幕久亚洲| 亚洲免费精彩视频在线观看| 亚洲一区二区三区播放在线| 免费看的一级毛片| 国产成人综合亚洲| 亚洲国产一成人久久精品| 亚洲毛片免费观看| 亚洲欧美在线x视频| 亚洲av无码一区二区三区不卡| h视频在线免费看| 亚洲国产成人久久精品大牛影视 | 成人片黄网站色大片免费观看cn| 亚洲AV无码成人网站久久精品大 | 国产亚洲精品国看不卡| 69式互添免费视频| 国产大陆亚洲精品国产| 亚洲国产精品VA在线观看麻豆| 成年女人看片免费视频播放器| 一区在线免费观看| 亚洲六月丁香婷婷综合|