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

經典:從追MM談Java的23種設計模式[1]

2022-06-13   來源: Java高級技術 

  設計模式做為程序員的內功心法越來越受到net 社區的重視這種變化是很可喜的Java社區走在了我們的前面但這種狀況 也許有一天會發生改變

  從追MM談Java的種設計模式

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

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

  程序代碼

  以下是引用片段

以下是引用片段
public class Factory{
      public String Boy = boy ;
       public String Girl = girl ;
      public People getPeople (String people){
        if (peopleequals(boy)){
          return new Boy();
        }else if(peopleequals(girl)){
          return new Girl();
         }
      }
    }

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

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

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

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

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

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

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

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

  以下是引用片段

以下是引用片段
    public class SingLeton{
      private static SingLeton instance = new SingLeton();
      public static SingLeton getInstance(){
        return instance;
      }
    }

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

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

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

[]  []  []  


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