什麼是模式
引用:閻宏博士 《Java與模式》的作者[@more@]什麼是模式,這是一個看上去簡單,但是又非常不簡單的問題。我見過很多人,學習模式理論已經很長時間了,但是並不真正理解這一點。
模式理論的基本思想其實起源於中國,是中國文化的固有思想。你,我,我們中每一個自幼受到中國思想薰陶的人,都自然具有這一基本思想。模式的思想存在於中國文化的各個角落,包括哲學、法律,醫學,兵法,體育,文學,直到我們行為處事的方式。
模式的思想,長期以來不存在於西方思考方式中,至今也不是西方文化的主流思想。因此學習模式,切忌以西方式的思路學習。不然的話,緣木求魚,事倍功半。
簡單地講,所謂模式,就是得到很好研究的範例。設計模式,就是設計範例。在孫子兵法中,充斥著各種模式。孫子說,“至於死地而後生”,就是戰爭模式。三十六計,條條都是模式,比如“走為上”,“空城計”也都是戰爭模式。
這些模式中的每一個都具有典型意義,具有學習價值。透過研究這些模式,學習者可以相互交流,可以在自己的實踐中舉一反三,推陳出新,加以應用。
在我們參加高考的時候,老師給我們很多的典型題目,作為練習使用。這些題目一般來說不會在高考中原封不動地出現,但是這些題目會有一些內容啟發我們的思考,可以讓我們舉一反三,從而為考試做好準備。
模式不是框架(Framework),也不是過程。模式也不是簡單的“問題的解決方案”,因為模式必須是典型問題的解決方案,是可以讓學習者舉一反三的,有研究價值、有交流價值,有自己的名字的例子。
模式不能套用。不要以為在任何一個系統中都要使用某些設計模式。系統的設計也不是含有設計模式就好,更不是含有越多的設計模式就越好。
在《三國演義》中,馬恕就套用了“至於死地而後生”的戰爭模式,最後倒了大黴。在高考中,你如果把老師交給你的典型題目答案倒背如流,在一個個放到考試卷子上去,放得越多,恐怕你就離考上大學越遠。
比如你喜歡三十六計,如果你在執行某項軍事任務的時候,千方百計地將盡可能多的三十六計用到裡面,每次都來一個“走為上”,那麼你的朋友和敵人都會覺得某名奇妙。如果你非三十六計中的計謀不用,或者認為非三十六計中的策略不算好策略,那麼別人只能認為你不懂三十六計的精髓。
中國傳統醫學也是一樣,有時看上去症狀相似的病,卻要使用不同的處方,即所謂辨證用藥。如果每次給病人看病,都要捧出某本醫案,將盡可能多的著名醫案用到你的病人身上,恐怕過不了多久就麻煩大了。
中國古代的法律,就是案例法;也就是需要法官在研習案例的基礎之上,舉一反三,適當發揮。開個玩笑,如果你喜歡上“軋美案”,逢美必軋,恐怕需要及早做好該行的準備。
關於模式的理論的起源、歷史,以及模式理論與中國文化的淵源、哲學思想,設計模式背後的OO設計原則,二十幾個設計模式的詳細講解,他們在Java語言中如何實現,如何在自己的系統設計中舉一反三、推陳出新,以及Java語言本身使用了什麼設計模式,可以看一看我的新書《Java與模式》(電子工業出版社出版)。
模式理論的基本思想其實起源於中國,是中國文化的固有思想。你,我,我們中每一個自幼受到中國思想薰陶的人,都自然具有這一基本思想。模式的思想存在於中國文化的各個角落,包括哲學、法律,醫學,兵法,體育,文學,直到我們行為處事的方式。
模式的思想,長期以來不存在於西方思考方式中,至今也不是西方文化的主流思想。因此學習模式,切忌以西方式的思路學習。不然的話,緣木求魚,事倍功半。
簡單地講,所謂模式,就是得到很好研究的範例。設計模式,就是設計範例。在孫子兵法中,充斥著各種模式。孫子說,“至於死地而後生”,就是戰爭模式。三十六計,條條都是模式,比如“走為上”,“空城計”也都是戰爭模式。
這些模式中的每一個都具有典型意義,具有學習價值。透過研究這些模式,學習者可以相互交流,可以在自己的實踐中舉一反三,推陳出新,加以應用。
在我們參加高考的時候,老師給我們很多的典型題目,作為練習使用。這些題目一般來說不會在高考中原封不動地出現,但是這些題目會有一些內容啟發我們的思考,可以讓我們舉一反三,從而為考試做好準備。
模式不是框架(Framework),也不是過程。模式也不是簡單的“問題的解決方案”,因為模式必須是典型問題的解決方案,是可以讓學習者舉一反三的,有研究價值、有交流價值,有自己的名字的例子。
模式不能套用。不要以為在任何一個系統中都要使用某些設計模式。系統的設計也不是含有設計模式就好,更不是含有越多的設計模式就越好。
在《三國演義》中,馬恕就套用了“至於死地而後生”的戰爭模式,最後倒了大黴。在高考中,你如果把老師交給你的典型題目答案倒背如流,在一個個放到考試卷子上去,放得越多,恐怕你就離考上大學越遠。
比如你喜歡三十六計,如果你在執行某項軍事任務的時候,千方百計地將盡可能多的三十六計用到裡面,每次都來一個“走為上”,那麼你的朋友和敵人都會覺得某名奇妙。如果你非三十六計中的計謀不用,或者認為非三十六計中的策略不算好策略,那麼別人只能認為你不懂三十六計的精髓。
中國傳統醫學也是一樣,有時看上去症狀相似的病,卻要使用不同的處方,即所謂辨證用藥。如果每次給病人看病,都要捧出某本醫案,將盡可能多的著名醫案用到你的病人身上,恐怕過不了多久就麻煩大了。
中國古代的法律,就是案例法;也就是需要法官在研習案例的基礎之上,舉一反三,適當發揮。開個玩笑,如果你喜歡上“軋美案”,逢美必軋,恐怕需要及早做好該行的準備。
關於模式的理論的起源、歷史,以及模式理論與中國文化的淵源、哲學思想,設計模式背後的OO設計原則,二十幾個設計模式的詳細講解,他們在Java語言中如何實現,如何在自己的系統設計中舉一反三、推陳出新,以及Java語言本身使用了什麼設計模式,可以看一看我的新書《Java與模式》(電子工業出版社出版)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/300209/viewspace-846999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是設計模式設計模式
- 什麼是SaaS模式CRM?模式
- 什麼是商業模式分析?模式
- 什麼是設計模式?為什麼要使用設計模式?有什麼好處?設計模式
- js裝飾者模式是什麼JS模式
- 豐田的人才育成模式是什麼?模式
- 設計+雲桌面是一種什麼模式模式
- 給女朋友講解什麼是代理模式模式
- SELinux是什麼?其主要工作模式都有哪些?Linux模式
- 系列:開源是一種開發模式、商業模式還是其他什麼?(一)模式
- 設計模式的數學定義是什麼?設計模式
- MVVM模式到底是什麼?實現原理剖析MVVM模式
- VSCode中最好的深色模式主題是什麼?VSCode模式
- 什麼是計劃程式代理監督程式模式?模式
- 自媒體+雲桌面是一種什麼模式?模式
- 設計模式:代理模式是什麼,Spring AOP還和它有關係?設計模式Spring
- 什麼是cookie,什麼是sessionCookieSession
- 這是什麼這是什麼
- 什麼是分而治之?什麼是WBS?
- 什麼是DNS,什麼是HostsDNS
- 什麼是WebAuthn、FIDO 是什麼?Web
- 合成遊戲是什麼模式,導致它這麼火爆呢遊戲模式
- 物流企業官網的商業模式是什麼模式
- 家政服務平臺的商業模式是什麼模式
- 【死磕 NIO】— Proactor模式是什麼?很牛逼嗎?模式
- ###什麼是Linux核心###什麼是MMULinux
- ITIL是什麼意思?ITIL是什麼?
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- ippswap是什麼?為什麼這麼火?ippswap模式玩法系統開發定製部署模式
- 人是什麼?人生是什麼?人為什麼會變?
- ftp是什麼,ftp是什麼東西?FTP
- 什麼是正向代理?什麼是反向代理?
- NLA是什麼?NLA的原理是什麼?
- Java是什麼_Java是做什麼的?Java
- 漫話:如何給女朋友解釋什麼是策略模式?模式
- Linux系統中vi是什麼?vi模式有幾種?Linux模式
- 六西格瑪管理方法之什麼是DMADV模式模式
- 工廠模式和抽象工廠的區別是什麼?模式抽象
- 什麼是this