本文目錄一覽:
北大青鳥設計培訓:Java常見設計模式?
正常情況下一個設計模式描述了一個被證實可行的方案。
這些方案非常普遍,是具有完整定義的最常用的模式。
IT培訓認為一般模式有4個基本要素:模式名稱(patternname)、問題(problem)、解決方案(solution)、效果(consequences)。
常見的Java設計模式有以下10種:1、橋樑模式(Bridge):將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
2、合成模式(Composite):將對象組合成樹形結構以表示”部分-整體”的層次結構。
它使得客戶對單個對象和複合對象的使用具有一致性。
3、抽象工廠模式(AbstractFactory):提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。
4、裝飾模式(Decorator):動態地給一個對象添加一些額外的職責。
就擴展功能而言,它能生成子類的方式更為靈活。
5、適配器模式(Adapter):將一個類的接口轉換成客戶希望的另外一個接口。
適配器模式使得原本由於接口或類不兼容而不能一起工作的類可以一起工作。
6、責任鏈模式(ChainofResponsibility):為解除請求的發送者和接收者之間耦合,而使多個對象都有機會處理這個請求。
將這些對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理它。
7、工廠方法(FactoryMethod):定義一個用於創建對象的接口,讓子類決定將哪一個類實例化。
FactoryMethod使一個類的實例化延遲到其子類。
8、建造模式(Builder):將一個複雜對象的構建與它的表示分離,使同樣的構建過程可以創建不同的表示。
9、門面模式(Facade):為子系統中的一組接口提供一個一致的界面,門面模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
10、命令模式(Command):將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可取消的操作。
JAVA23種設計模式
一、大約分為三類:
1、創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。
2、結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。
3、行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
二、設計模式遵循的原則有6個:
1、開閉原則(OpenClosePrinciple)
對擴展開放,對修改關閉。
2、里氏代換原則(LiskovSubstitutionPrinciple)
只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被複用,而衍生類也能夠在基類的基礎上增加新的行為。
3、依賴倒轉原則(DependenceInversionPrinciple)
這個是開閉原則的基礎,對接口編程,依賴於抽象而不依賴於具體。
4、接口隔離原則(InterfaceSegregationPrinciple)
使用多個隔離的借口來降低耦合度。
5、迪米特法則(最少知道原則)(DemeterPrinciple)
一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。
6、合成復用原則(CompositeReusePrinciple)
原則是盡量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。
如何學習java程序設計?
JAVA是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於JAVA,對C++等其他程序設計語言也一樣管用。有編程高手認為,JAVA也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1、培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。
2、慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟件開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟件開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
3、要腳踏實地,快餐式的學習不可取
軟件開發是一門工程學科,注重的就是實踐,“君子動口不動手”對軟件開發人員來講根本就是錯誤的,他們提倡“動手至上”,但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副“比爾蓋茨”樣。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
4、多參考程序代碼
程序代碼是軟件開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到遊戲中,卻讓眾多的仙劍迷扼腕嘆息。
參考代碼例子,也可以研究一些開源的軟件或框架。
5、加強英文閱讀能力
對學習編程來說,不要求英語,但不能一點不會,。最起碼像JAVAAPI文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個“金山詞霸”。
6、萬不得已才請教別人
要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
7、使用合適的工具
工欲善其事必先利其器。軟件開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟件的質量更高BUG更少。組合稱手的武器。昆明計算機學校認為到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233545.html