熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

關於Java23種設計模式的有趣見解[1]

2013-11-23 19:58:45  來源: Java高級技術 

  創建型模式

  FACTORY—追MM少不了請吃飯了麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西雖然口味有所不同但不管你帶MM去麥當勞或肯德基只管向服務員說來四個雞翅就行了麥當勞和肯德基就是生產雞翅的Factory

  工廠模式客戶類和工廠類分開消費者任何時候需要某種產品只需向工廠請求即可消費者無須修改就可以接納新產品缺點是當產品修改時工廠類也要做相應的修改如何創建及如何向客戶端提供

  BUILDER—MM最愛聽的就是我愛你這句話了見到不同地方的MM要能夠用她們的方言跟她說這句話哦我有一個多種語言翻譯機上面每種語言都有一個按鍵見到MM我只要按對應的鍵它就能夠用相應的語言說出我愛你這句話了國外的MM也可以輕松搞掂這就是我的我愛你builder(這一定比美軍在伊拉克用的翻譯機好賣)

  建造模式將產品的內部表象和產品的生成過程分割開來從而使一個建造過程生成具有不同的內部表象的產品對象建造模式使得產品內部表象可以獨立的變化客戶不必知道產品內部組成的細節建造模式可以強制實行一種分步驟進行的建造過程

  FACTORY METHOD—請MM去麥當勞吃漢堡不同的MM有不同的口味要每個都記住是一件煩人的事情我一般采用Factory Method模式帶著MM到服務員那兒要一個漢堡具體要什麼樣的漢堡呢讓MM直接跟服務員說就行了

  工廠方法模式核心工廠類不再負責所有產品的創建而是將具體創建的工作交給子類去做成為一個抽象工廠角色僅負責給出具體工廠類必須實現的接口而不接觸哪一個產品類應當被實例化這種細節

  PROTOTYPE—跟MM用QQ聊天一定要說些深情的話語了我搜集了好多肉麻的情話需要時只要copy出來放到QQ裡面就行了這就是我的情話prototype了(塊錢一份你要不要)

  原始模型模式通過給出一個原型對象來指明所要創建的對象的類型然後用復制這個原型對象的方法創建出更多同類型的對象原始模型模式允許動態的增加或減少產品類產品類不需要非得有任何事先確定的等級結構原始模型模式適用於任何的等級結構缺點是每一個類都必須配備一個克隆方法

  SINGLETON—俺有個漂亮的老婆她們的老公都是我我就是我們家裡的老公Sigleton她們只要說道老公都是指的同一個人那就是我(剛才做了個夢啦哪有這麼好的事)

  單例模式單例模式確保某一個類只有一個實例而且自行實例化並向整個系統提供這個實例單例模式單例模式只應在有真正的單一實例的需求時才可使用

  結構型模式

  ADAPTER—在朋友聚會上碰到了一個美女Sarah從香港來的可我不會說粵語她不會說普通話只好求助於我的朋友kent了他作為我和Sarah之間的Adapter讓我和Sarah可以相互交談了(也不知道他會不會耍我)

  適配器(變壓器)模式把一個類的接口變換成客戶端所期待的另一種接口從而使原本因接口原因不匹配而無法一起工作的兩個類能夠一起工作適配類可以根據參數返還一個合適的實例給客戶端

  BRIDGE—早上碰到MM要說早上好晚上碰到MM要說晚上好;碰到MM穿了件新衣服要說你的衣服好漂亮哦碰到MM新做的發型要說你的頭發好漂亮哦不要問我早上碰到MM新做了個發型怎麼說這種問題自己用BRIDGE組合一下不就行了

  橋梁模式將抽象化與實現化脫耦使得二者可以獨立的變化也就是說將他們之間的強關聯變成弱關聯也就是指在一個軟件系統的抽象化和實現化之間使用組合/聚合關系而不是繼承關系從而使兩者可以獨立的變化

  COMPOSITE—Mary今天過生日我過生日你要送我一件禮物好吧去商店你自己挑這件T恤挺漂亮這條裙子好看這個包也不錯買了三件了呀我只答應送一件禮物的哦什麼呀T恤加裙子加包包正好配成一套呀小姐麻煩你包起來……MM都會用Composite模式了你會了沒有?

  合成模式合成模式將對象組織到樹結構中可以用來描述整體與部分的關系合成模式就是一個處理對象的樹結構的模式合成模式把部分與整體的關系用樹結構表示出來合成模式使得客戶端把一個個單獨的成分對象和由他們復合而成的合成對象同等看待

  DECORATOR—Mary過完輪到Sarly過生日還是不要叫她自己挑了不然這個月伙食費肯定玩完拿出我去年在華山頂上照的照片在背面寫上最好的的禮物就是愛你的Fita再到街上禮品店買了個像框(賣禮品的MM也很漂亮哦)再找隔壁搞美術設計的Mike設計了一個漂亮的盒子裝起來……我們都是Decorator最終都在修飾我這個人呀怎麼樣看懂了嗎?

[]  []  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27768.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.