国产在线综合网,天天插夜夜操,免费观看三级毛片,国产啪,美女视频美女视频美女视频,国产丝袜美腿美女视频,杨幂怼人视频

廣州為學教育科技有限公司

主營:JAVA開發(fā),軟件工程師,教育培訓

免費店鋪在線升級

聯(lián)系方式
  • 公司: 廣州為學教育科技有限公司
  • 地址: 廣州天河區(qū)車陂灃宏大廈3樓
  • 聯(lián)系: 謝老師
  • 手機: 13632401219
  • 一鍵開店

如何學習設計模式

2018-12-07 10:21:01  1322 次瀏覽

神秘程序員.png①學習技巧

學習設計模式時,有一些技巧能夠幫助你快速理解設計模式。

a)使用較簡單的面向?qū)ο蟮恼Z言如Java、C#。GoF[設計模式]實質(zhì)上是面向?qū)ο蟮脑O計模式。[GoF·1.1]中提到“程序設計語言的選擇非常重要,它將影響人們理解問題的出發(fā)點”。從學習設計模式的角度看,JavaC#C++更容易一些。比如Java接口等,能夠更有效展現(xiàn)設計模式的意圖。

b)使用工具BlueJBlueJ的好處,就是提供了簡單的類圖。正如我在簡明設計模式Java中所做的,較少去專門畫類圖,而是在BlueJ中截圖。在學生上機編寫演示程序時,常常先看他的類圖,以判斷他的程序是否正確,必要時再看源代碼。

c)日常生活的隱喻。用一些實際生活中的例子來說明某某模式,能夠讓你快速掌握某模式的目的和實現(xiàn)代碼的結(jié)構(gòu)。同時,你要認識到,這種隱喻如同告訴你(2+32=22+2*2*3+32,你需要自己舉一反三,得出(a+b2=a2+2ab+b2。在實際工作中的模式的具體應用,則相當于應用代數(shù)公式。

d)動手實踐和懷疑精神。看顯淺的參考書或上網(wǎng)查閱資料時,要自己敲(復制也可以)代碼并運行,要多修改別人的源代碼提出自己的觀點:為什么書中不這樣設計、為什么要那樣設計;如果增添一些方法、方法參數(shù)、或成員變量會如何?必須要自己親自動手,起碼要運行。另外,要敢于向博主提問、拍磚。你甚至可以質(zhì)疑GoF的某些章節(jié)的解說和意圖,更何況一些博主呢。

②基礎(chǔ)知識

這些知識讓你知道,設計模式好在何處。

a)面向?qū)ο蠓妒?。也就是人們傳說的思想。封裝、繼承和多態(tài)這些東西,在我看來比if、for等稍微高一點,也屬于語法問題。面向?qū)ο缶幊桃莆盏娜笤瓌t是柏拉圖(Plato)原則、里氏(Liskov)替換原則和Parnas原則。這三個原則其實非常簡單。任何原則,你覺得很難一見鐘情,很難快速認同,那它就不會是好原則。

b)設計原則。許多人列舉了7大原則,如單一職責原則、開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則、接口隔離原則、合成復用原則、迪米特法則。LSP,我將它提升為面向?qū)ο蠓妒降?/span>3大基石之一;單一職責和接口隔離,主要作為面向?qū)ο蠓治?/span>/OOA時職責劃分所遵循的原則,此時你可以不太在意。依賴倒轉(zhuǎn)原則,我把它作為垃圾扔掉,因為開閉原則或者直接地說“依賴于抽象類型原則”已經(jīng)包含了依賴倒轉(zhuǎn)原則的精華,而依賴倒轉(zhuǎn)原則的糟粕由IoC繼承。當然,回調(diào),我很強調(diào)。所以,你要掌握的有抽象依賴原則(OCP)、單向依賴原則(含對回調(diào)的學習)和依賴原則(合成復用原則、迪米特法則)。

c)UML的初步了解。這是學習設計模式的工具。在早期,你甚至可以僅了解BlueJ的相關(guān)圖示,也就10分鐘的事情。

③境界

《五燈會元》卷十七中,有一則唐朝禪師青原惟信禪師的語錄:“老僧三十年前未參禪時,見山是山,見水是水。及至后來親見知識,有個入處,見山不是山,見水不是水。而今得個休歇處,依前見山只是山,見水只是水?!?/span>

a)仔細研究GoF[設計模式],逐個學習其意圖和結(jié)構(gòu),是一個抱著字典學習英語的方式。見山是山,見水是水,導致你可能在實際工作中生搬硬套、東施效顰。

b)建議從簡單的場景出發(fā),自己發(fā)現(xiàn)或設計出某種模式。你從中體會該模式是如何解決問題的,這樣,該模式成為你自己的東西,你才不會出現(xiàn)知易行難的問題。所有的設計模式不過是基本原則和理念在特定場合的應用。你可能不知道某個設計模式的名字,但是你知道它一切的優(yōu)缺點和變體以及應用場合。見山不是山,見水不是水。

c)你對基本原則和理念融會貫通,你可以惋惜:“我找到一種模式,原來在[設計模式](其實是某個特殊的書、文章提到的模式)中早就有了這種模式”。這時,模式不模式又如何呢?反模式又怎樣??匆娨粋€模式,你會說:“嗯,這是一種有用的模式”。見山只是山,見水只是水。

網(wǎng)友評論
0條評論 0人參與
最新評論
  • 暫無評論,沙發(fā)等著你!
百業(yè)店鋪 更多 >

特別提醒:本頁面所展現(xiàn)的公司、產(chǎn)品及其它相關(guān)信息,均由用戶自行發(fā)布。
購買相關(guān)產(chǎn)品時務必先行確認商家資質(zhì)、產(chǎn)品質(zhì)量以及比較產(chǎn)品價格,慎重作出個人的獨立判斷,謹防欺詐行為。

回到頂部