黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java設(shè)計(jì)模式

Java設(shè)計(jì)模式簡(jiǎn)介

設(shè)計(jì)模式(Design pattern)代表了最佳的實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_發(fā)人員所采用。設(shè)計(jì)模式是軟件開發(fā)人員在軟件開發(fā)過(guò)程中面臨的一般問(wèn)題的解決方案。這些解決方案是眾多軟件開發(fā)人員經(jīng)過(guò)相當(dāng)長(zhǎng)的一段時(shí)間的試驗(yàn)和錯(cuò)誤總結(jié)出來(lái)的。

設(shè)計(jì)模式是一套被反復(fù)使用的、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無(wú)疑問(wèn),設(shè)計(jì)模式于己于他人于系統(tǒng)都是多贏的,設(shè)計(jì)模式使代碼編制真正工程化,設(shè)計(jì)模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。項(xiàng)目中合理地運(yùn)用設(shè)計(jì)模式可以完美地解決很多問(wèn)題,每種模式在現(xiàn)實(shí)中都有相應(yīng)的原理來(lái)與之對(duì)應(yīng),每種模式都描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問(wèn)題,以及該問(wèn)題的核心解決方案,這也是設(shè)計(jì)模式能被廣泛應(yīng)用的原因。

什么是 GOF(四人幫,全拼 Gang of Four)?

在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名為 Design Patterns - Elements of Reusable Object-Oriented Software(中文譯名:設(shè)計(jì)模式 - 可復(fù)用的面向?qū)ο筌浖? 的書,該書首次提到了軟件開發(fā)中設(shè)計(jì)模式的概念。

四位作者合稱 GOF(四人幫,全拼 Gang of Four)。他們所提出的設(shè)計(jì)模式主要是基于以下的面向?qū)ο笤O(shè)計(jì)原則。

• 對(duì)接口編程而不是對(duì)實(shí)現(xiàn)編程。

• 優(yōu)先使用對(duì)象組合而不是繼承。

設(shè)計(jì)模式的使用

設(shè)計(jì)模式在軟件開發(fā)中的兩個(gè)主要用途。

⒈開發(fā)人員的共同平臺(tái)

設(shè)計(jì)模式提供了一個(gè)標(biāo)準(zhǔn)的術(shù)語(yǔ)系統(tǒng),且具體到特定的情景。例如,單例設(shè)計(jì)模式意味著使用單個(gè)對(duì)象,這樣所有熟悉單例設(shè)計(jì)模式的開發(fā)人員都能使用單個(gè)對(duì)象,并且可以通過(guò)這種方式告訴對(duì)方,程序使用的是單例模式。

⒉最佳的實(shí)踐

設(shè)計(jì)模式已經(jīng)經(jīng)歷了很長(zhǎng)一段時(shí)間的發(fā)展,它們提供了軟件開發(fā)過(guò)程中面臨的一般問(wèn)題的最佳解決方案。學(xué)習(xí)這些模式有助于經(jīng)驗(yàn)不足的開發(fā)人員通過(guò)一種簡(jiǎn)單快捷的方式來(lái)學(xué)習(xí)軟件設(shè)計(jì)。

設(shè)計(jì)模式的類型

根據(jù)設(shè)計(jì)模式的參考書 Design Patterns - Elements of Reusable Object-Oriented Software(中文譯名:設(shè)計(jì)模式 - 可復(fù)用的面向?qū)ο筌浖? 中所提到的,總共有 23 種設(shè)計(jì)模式。這些模式可以分為三大類:創(chuàng)建型模式(Creational Patterns)、結(jié)構(gòu)型模式(Structural Patterns)、行為型模式(Behavioral Patterns)。當(dāng)然,我們還會(huì)討論另一類設(shè)計(jì)模式:J2EE 設(shè)計(jì)模式。

序號(hào)     

模式 & 描述

包括

1

創(chuàng)建型模式

這些設(shè)計(jì)模式提供了一種在創(chuàng)建對(duì)象的同時(shí)隱藏創(chuàng)建邏輯

的方式,而不是使用new運(yùn)算符直接實(shí)例化對(duì)象。這使

得程序在判斷針對(duì)某個(gè)給定實(shí)例需要?jiǎng)?chuàng)建哪些對(duì)象時(shí)更加

靈活。

抽象工廠模式(Abstract Factory Pattern)

單例模式(Singleton Pattern)

建造者模式(Builder Pattern)

原型模式(Prototype Pattern)

2


結(jié)構(gòu)型模式

這些設(shè)計(jì)模式關(guān)注類和對(duì)象的組合。繼承的概念被

用來(lái)組合接口和定義組合對(duì)象獲得新功能的方式。
 

適配器模式(Adapter Pattern)

橋接模式(Bridge Pattern)

過(guò)濾器模式(Filter、Criteria Pattern)

組合模式(Composite Pattern)

裝飾器模式(Decorator Pattern)

外觀模式(Facade Pattern)

享元模式(Flyweight Pattern)

代理模式(Proxy Pattern)

3


行為型模式

這些設(shè)計(jì)模式特別關(guān)注對(duì)象之間的通信。

責(zé)任鏈模式(Chain of Responsibility Pattern)

命令模式(Command Pattern)

解釋器模式(Interpreter Pattern)

迭代器模式(Iterator Pattern)

中介者模式(Mediator Pattern)

備忘錄模式(Memento Pattern)

觀察者模式(Observer Pattern)

狀態(tài)模式(State Pattern)

空對(duì)象模式(Null Object Pattern)

策略模式(Strategy Pattern)

模板模式(Template Pattern)

訪問(wèn)者模式(Visitor Pattern)

4

J2EE 模式


這些設(shè)計(jì)模式特別關(guān)注表示層。這些模式是由

Sun Java Center 鑒定的。

MVC 模式(MVC Pattern)

業(yè)務(wù)代表模式(Business Delegate Pattern)

組合實(shí)體模式(Composite Entity Pattern)

數(shù)據(jù)訪問(wèn)對(duì)象模式(Data Access Object Pattern)

前端控制器模式(Front Controller Pattern)

攔截過(guò)濾器模式(Intercepting Filter Pattern)

服務(wù)定位器模式(Service Locator Pattern)

傳輸對(duì)象模式(Transfer Object Pattern)

下面用一個(gè)圖片來(lái)整體描述一下設(shè)計(jì)模式之間的關(guān)系:

設(shè)計(jì)模式的六大原則

⒈開閉原則(Open Close Principle)

開閉原則的意思是:對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。在程序需要進(jìn)行拓展的時(shí)候,不能去修改原有的代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果。簡(jiǎn)言之,是為了使程序的擴(kuò)展性好,易于維護(hù)和升級(jí)。想要達(dá)到這樣的效果,我們需要使用接口和抽象類,后面的具體設(shè)計(jì)中我們會(huì)提到這點(diǎn)。

⒉里氏代換原則(Liskov Substitution Principle)

里氏代換原則是面向?qū)ο笤O(shè)計(jì)的基本原則之一。 里氏代換原則中說(shuō),任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。LSP 是繼承復(fù)用的基石,只有當(dāng)派生類可以替換掉基類,且軟件單位的功能不受到影響時(shí),基類才能真正被復(fù)用,而派生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對(duì)開閉原則的補(bǔ)充。實(shí)現(xiàn)開閉原則的關(guān)鍵步驟就是抽象化,而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn),所以里氏代換原則是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范。

⒊依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)

這個(gè)原則是開閉原則的基礎(chǔ),具體內(nèi)容:針對(duì)接口編程,依賴于抽象而不依賴于具體。

⒋接口隔離原則(Interface Segregation Principle)

這個(gè)原則的意思是:使用多個(gè)隔離的接口,比使用單個(gè)接口要好。它還有另外一個(gè)意思是:降低類之間的耦合度。由此可見,其實(shí)設(shè)計(jì)模式就是從大型軟件架構(gòu)出發(fā)、便于升級(jí)和維護(hù)的軟件設(shè)計(jì)思想,它強(qiáng)調(diào)降低依賴,降低耦合。

⒌迪米特法則,又稱最少知道原則(Demeter Principle)

最少知道原則是指:一個(gè)實(shí)體應(yīng)當(dāng)盡量少地與其他實(shí)體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對(duì)獨(dú)立。

⒍合成復(fù)用原則(Composite Reuse Principle)

合成復(fù)用原則是指:盡量使用合成/聚合的方式,而不是使用繼承。

全部教程
主站蜘蛛池模板: 成人青青草 | 中文字幕亚洲 综合久久 | 色综合五月激情综合色一区 | 午夜欧美日韩 | 人人爽天天爽夜夜爽曰 | 又黄又爽的视频免费看 | 天天射夜夜骑 | 99成人国产精品视频 | 后式大肥臀国产在线 | 久久久www免费人成看片 | 国产人人干 | 波多野结衣国产一区二区三区 | 成年性生交大片免费看 | 极品国产一区二区三区 | 国产一级特黄a大片免费 | va亚洲va欧美va国产综合 | 成人a大片高清在线观看 | 欧美中文小说在线观看 | 欧美激情精品久久久久久不卡 | 国产福利亚洲 | 亚洲国产一区二区三区综合片 | 成年网站免费入口在线观看 | www.日本三级| 色秀影院| 成人毛片免费观看视频 | 国产免费播放一区二区三区 | 黄色大片子 | 美腿丝袜在线观看 | 免费在线观看黄色小视频 | 欧美视频免费在线 | 欧美日韩xxx | 亚洲欧美黄色片 | 黄视频链接 | 国产精品亚洲欧美动漫卡通 | sss在线观看 | 欧美在线看欧美高清视频免费 | 亚洲成a人片在线观看 欧美 | 免费一级毛片在线视频观看 | 午夜国产羞羞视频免费网站 | a级大片在线观看 | 中文字幕在线观看日韩 |