小偉

          我的java筆記

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            29 隨筆 :: 1 文章 :: 23 評論 :: 0 Trackbacks
          閻宏 ,1964年出生于天津市。1987年畢業于中國科技大學近代物理系,1990年于中科院理論物理所獲碩士學位,1992年獲博士學位,翌年赴日本京都大學進行博士后研究工作。

          作者曾于美國花旗銀行(Citibank)、湯臣金融(Thomson Financial)、奧本海默基金(Oppenheimer)等處供職,進行了多年的軟件開發、架構設計和技術管理工作。

          閻宏博士對面向對象理論和設計模式有精到的見解,對中國的古典智慧也有深厚的積淀,更為難得的是能夠把兩者融洽地結合起來。閱讀閻宏博士的文章,你會發現文章中處處閃爍著作者智慧的光點。閻宏博士著有《Java與模式》一書,本專欄編輯了閻宏博士的幾篇文章和書中的一些章節,以饗讀者。

          您閱讀后有什么感想,歡迎在JR論壇中發貼和大家討論。同時,也可以與作者聯系:JavaPatterns@hotmail.com
          1. 什么是模式

          什么是模式,這是一個看上去簡單,但是又非常不簡單的問題。我見過很多人,學習模式理論已經很長時間了,但是并不真正理解這一點。

          模式理論的基本思想其實起源于中國,是中國文化的固有思想。你,我,我們中每一個自幼受到中國思想熏陶的人,都自然具有這一基本思想。模式的思想存在于中國文化的各個角落,包括哲學、法律,醫學,兵法,體育,文學,直到我們行為處事的方式。

          模式的思想,長期以來不存在于西方思考方式中,至今也不是西方文化的主流思想。因此學習模式,切忌以西方式的思路學習。不然的話,緣木求魚,事倍功半。

          簡單地講,所謂模式,就是得到很好研究的范例。設計模式,就是設計范例。在孫子兵法中,充斥著各種模式。孫子說,“至于死地而后生”,就是戰爭模式。三十六計,條條都是模式,比如“走為上”,“空城計”也都是戰爭模式。

          這些模式中的每一個都具有典型意義,具有學習價值。通過研究這些模式,學習者可以相互交流,可以在自己的實踐中舉一反三,推陳出新,加以應用。

          在我們參加高考的時候,老師給我們很多的典型題目,作為練習使用。這些題目一般來說不會在高考中原封不動地出現,但是這些題目會有一些內容啟發我們的思考,可以讓我們舉一反三,從而為考試做好準備。

          模式不是框架(Framework),也不是過程。模式也不是簡單的“問題的解決方案”,因為模式必須是典型問題的解決方案,是可以讓學習者舉一反三的,有研究價值、有交流價值,有自己的名字的例子。

          模式不能套用。不要以為在任何一個系統中都要使用某些設計模式。系統的設計也不是含有設計模式就好,更不是含有越多的設計模式就越好。

          在《三國演義》中,馬恕就套用了“至于死地而后生”的戰爭模式,最后倒了大霉。在高考中,你如果把老師交給你的典型題目答案倒背如流,在一個個放到考試卷子上去,放得越多,恐怕你就離考上大學越遠。

          比如你喜歡三十六計,如果你在執行某項軍事任務的時候,千方百計地將盡可能多的三十六計用到里面,每次都來一個“走為上”,那么你的朋友和敵人都會覺得某名奇妙。如果你非三十六計中的計謀不用,或者認為非三十六計中的策略不算好策略,那么別人只能認為你不懂三十六計的精髓。

          中國傳統醫學也是一樣,有時看上去癥狀相似的病,卻要使用不同的處方,即所謂辨證用藥。如果每次給病人看病,都要捧出某本醫案,將盡可能多的著名醫案用到你的病人身上,恐怕過不了多久就麻煩大了。

          中國古代的法律,就是案例法;也就是需要法官在研習案例的基礎之上,舉一反三,適當發揮。開個玩笑,如果你喜歡上“軋美案”,逢美必軋,恐怕需要及早做好該行的準備。

          關于模式的理論的起源、歷史,以及模式理論與中國文化的淵源、哲學思想,設計模式背后的OO設計原則,二十幾個設計模式的詳細講解,他們在Java語言中如何實現,如何在自己的系統設計中舉一反三、推陳出新,以及Java語言本身使用了什么設計模式,可以看一看我的新書《Java與模式》(電子工業出版社出版)。

          簡單工廠(Simple Factory)模式
          本文是作者的新書《Java與模式》的節選,主要內容如下:

          第12章? 簡單工廠(Simple Factory)模式
          12.1? 工廠模式的幾種形態
          12.2? 簡單工廠模式的引進
          12.3? 簡單工廠模式的結構
          12.4? 簡單工廠模式的實現
          12.5? 簡單工廠模式與其他模式的關系
          12.6? 模式的優點和缺點
          12.7? 簡單工廠模式在Java中的應用
          12.8? 女媧摶土造人

          請在下面打開pdf文件閱讀本文

          簡單工廠(Simple Factory)模式

          工廠方法(Factory Method)模式

          本文是作者的新書《Java與模式》的節選,主要內容如下:

          第13章? 工廠方法(Factory Method)模式
          13.1? 引言
          13.2? 工廠方法模式的結構
          13.3? 工廠方法模式在農場系統中的實現
          13.4? 關于工廠方法模式的實現
          13.5? Java語言中工廠方法模式的例子
          13.6? 工廠方法模式與其他模式的關系
          13.7? 女媧舉繩造人
          13.8? 其他的例子

          請在下面打開pdf文件閱讀本文

          工廠方法(Factory Method)模式

          抽象工廠(Abstract Factory)模式

          本文是作者的新書《Java與模式》的節選,主要內容如下:

          第14章? 抽象工廠(Abstract Factory)模式
          14.1? 引言
          14.2? 問題
          14.3? 抽象工廠模式的結構
          14.4? 在什么情形下應當使用抽象工廠模式
          14.5? 抽象工廠模式在農場系統中的實現
          14.6? 抽象工廠模式的另一個例子
          14.7? “開-閉”原則
          14.8? 關于模式的實現
          14.9? 女媧造萬物的故事

          請在下面打開pdf文件閱讀本文

          抽象工廠(Abstract Factory)模式

          單例(Singleton)模式

          本文是作者的新書《Java與模式》的節選,主要內容如下:

          第15章? 單例(Singleton)模式
          15.1? 引言
          15.2? 單例模式的結構
          15.3? 在什么情況下使用單例模式
          15.4? 單例類的狀態
          15.5? 一個實用的例子:屬性管理器
          15.6? Java語言中的單例模式
          15.7? 專題:不完全的單例類
          15.8? 相關模式
          15.9? 附錄:雙重檢查成例的研究
          15.10? 給讀者的一點建議

          請在下面打開pdf文件閱讀本文
          單例(Singleton)模式

          單例模式與MX記錄

          本文是作者的新書《Java與模式》的節選,講解如何將單例模式應用到實際系統設計中去,主要內容如下:
          第16章? 專題:單例模式與MX記錄
          16.1? 問題與解決方案
          16.2? 目錄服務與MX記錄
          16.3? JNDI架構介紹
          16.4? 如何使用JNDI編程
          16.5? 系統設計
          16.6? 討論
          請在下面打開pdf文件閱讀本文
          單例模式與MX記錄

          多例(Multiton)模式與多語言支持

          本文是作者的新書《Java與模式》的節選,講解多例(Multiton)模式以及如何將多例模式應用到實際系統設計中去,主要內容如下:

          第17章? 專題:多例(Multiton)模式與多語言支持
          17.1? 引言
          17.2? 多例模式
          17.3? 多語言項目的設計

          請在下面打開pdf文件閱讀本文
          多例(Multiton)模式與多語言支持

          序列鍵生成器與單例及多例模式

          本文是作者的新書《Java與模式》的節選,講解單例(Singleton)及多例(Multiton)模式以及如何將它們應用到實際系統設計中去,主要內容如下:
          第18章? 專題:序列鍵生成器與單例及多例模式
          18.1? 問題
          18.2? 將單例模式應用到系統設計中
          18.3? 將多例模式應用到系統設計中
          18.4? 討論

          請在下面打開pdf文件閱讀本文
          序列鍵生成器與單例及多例模式

          《Java與模式》的目錄
          閻宏博士
          《Java與模式》作者
          www.WebEndsHere.com(或者http://218.6.168.109/jeffyan77)
          JavaPatterns@yahoo.com

          posted on 2006-10-18 15:13 小偉 閱讀(1660) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 合川市| 资源县| 青海省| 独山县| 新丰县| 满城县| 巴马| 襄垣县| 张家口市| 哈密市| 永昌县| 湖南省| 昭觉县| 鹤山市| 磴口县| 增城市| 正蓝旗| 招远市| 和硕县| 镇康县| 辽中县| 名山县| 通州市| 罗平县| 咸阳市| 沁水县| 永修县| 布尔津县| 永安市| 绍兴县| 钟山县| 台江县| 勐海县| 正宁县| 德保县| 林州市| 海伦市| 襄垣县| 浦县| 将乐县| 吉木乃县|