射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁 > IT認(rèn)證 > JAVA >

Java開發(fā)中的23種設(shè)計(jì)模式


Java開發(fā)中的23種設(shè)計(jì)模式

學(xué)習(xí)設(shè)計(jì)模式有兩個(gè)意義:

  一、學(xué)習(xí)設(shè)計(jì)模式最重要的是了解模式的手機(jī)應(yīng)用場景。編程遇到特定場景的話,要有意識聯(lián)想到設(shè)計(jì)模式,哪怕細(xì)節(jié)忘了也沒關(guān)系,翻翻書就找到了。

  二、提高手機(jī)APP設(shè)計(jì)的思想。學(xué)習(xí)設(shè)計(jì)模式的時(shí)候,要體會模式精妙之處,當(dāng)想明白大師思想和自己的差距的時(shí)候,差距就縮短了一點(diǎn)兒。

  有的模式平淡無奇,應(yīng)用卻廣泛。有的模式設(shè)計(jì)精巧,應(yīng)用場景卻不易遇到。無論如何,要么掌握工具,要么學(xué)到思想,都是收獲。

  最適合簡單概括設(shè)計(jì)模式的是UML圖,收集了一個(gè)非常好的資源,分享在我的sky drive網(wǎng)絡(luò)硬盤上,包含23種設(shè)計(jì)模式的UML圖

  cid-d8b11f9bf86fecfa./self.aspx/.Public/books/designpatternscard.pdf

  設(shè)計(jì)模式可以分為三類:behavioural, structural, creational

  behavioural 11 種

  1. Memento(備忘錄)

  精巧程度: 5星

  應(yīng)用廣泛:2星

  在不破壞封裝性的前提下,捕獲一個(gè)對象的內(nèi)部狀態(tài),并在該對象之外保存這個(gè)狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。

  2. Chain of Responsibility(責(zé)任鏈)

  精巧程度: 3星

  應(yīng)用廣泛: 3星

  為解除請求的發(fā)送者和接收者之間耦合,而使多個(gè)對象都有機(jī)會處理這個(gè)請求。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個(gè)對象處理它。

  適合用在"一系列handler"的場景下。分為純和不純兩種,好像女孩兒也可以這么分?

  3. Observer(觀察者)

  定義對象間的一種一對多的依賴關(guān)系,以便當(dāng)一個(gè)對象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對象都得到通知并自動刷新。

  因?yàn)閖ava里有Obserable和Observer, 所以通常在java里不會自己設(shè)計(jì)觀察者模式。

  4. Command(命令模式)

  精巧程度:4星

  應(yīng)用廣泛:3星

  將一個(gè)請求封裝為一個(gè)對象,從而可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊(duì)或記錄請求日志,以及支持可取消的操作。

  command模式用來解耦invoker和receiver.

  5. State(狀態(tài)模式)

  精巧程度:4星

  應(yīng)用廣泛:3星

  允許一個(gè)對象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對象看起來似乎修改了它所屬的類。

  OO編程如果出現(xiàn)多個(gè)相同的if…else條件,應(yīng)該考慮用state模式重構(gòu)。work flow的狀態(tài)器也是基于State模式的。

  6. Interpreter(解釋器)

  精巧程度: N/A

  應(yīng)用廣泛: 1星

  給定一個(gè)語言,定義它的語法的一種表示,并定義一個(gè)解釋器,該解釋器使用該表示解釋語言中的句子。

  7. Strategy(策略模式)

  精巧程度: 2星

  應(yīng)用廣泛:4星

  定義一系列的算法,把它們一個(gè)個(gè)封裝起來,并且使它們可相互替換。本模式使得算法的變化可獨(dú)立于使用它的客戶。

  8. Iterator(迭代子)

  Java Collection都可以迭代,在java上不需要格外設(shè)計(jì)iterator.

  9. Template Method(模板方法)

  精巧程度:2星

  應(yīng)用廣泛:4星

  見名知義。太簡單了,學(xué)過一遍就不會忘。但是這個(gè)應(yīng)用非常廣泛!

  10. Mediator(仲裁者)

  精巧程度:4星

  應(yīng)用廣泛:1星

  用來解耦多個(gè)peer.個(gè)人覺得這個(gè)模式多半會讓mediator十分臃腫,mediator本身需要有很清晰的設(shè)計(jì)才能使用。應(yīng)用場景恐怕也少。

相關(guān)文章

無相關(guān)信息
更新時(shí)間2023-01-09 22:30:01【至頂部↑】
江南財(cái)子®  聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886 | 

付款方式留言簿投訴中心網(wǎng)站糾錯(cuò)二維碼手機(jī)版

電話:
付款方式   |   給我留言   |   我要糾錯(cuò)   |   聯(lián)系我們