介面卡設計模式 應用於活動業務

2021-09-17 00:01:29 字數 1884 閱讀 5887

案例一(來自於php 設計模式 書) - 假設乙個企業**同時銷售軟體服務和軟體產品,目前所有的交易都在美國進行,後續業務決定向歐洲發展要增加貨幣換算(增加介面卡)

案例二是自已設計於活動專題業務上,只是將邏輯摘取出來,**不可直接執行

靈活性擴充套件性都很好

將目標類和適配者類解耦

目標(target):定義乙個客戶端使用的特定介面。

客戶端(client):使用目標介面,與和目標介面一致的物件合作。

被適配者(adaptee):乙個現存需要適配的介面。

介面卡(adapter):負責將adaptee的介面轉換為target的介面。介面卡是乙個具體的類,這是該模式的核心。

介面卡分為類介面卡和物件介面卡兩種,下面將詳細講述。

來自 php 設計模式 一書的介面卡設計模式案例**

/**

* eurocalc.php

* 美元 - 能累加購買的服務和產品的** 來自於php 設計模式

*/class dollarcalc

private function requestcount()

}/**

* eurocalc.php

* 歐元 - 能累加購買的服務和產品的**

*/class eurocalc

private function requestcount()

}/**

* 介面 itarget.php

*/inte***ce itarget

/** * 例:找乙個合適的介面卡來適合歐洲的插座一樣,以下就是建立這個介面卡

* euroadapter 實現了乙個介面又擴充套件了乙個類

*/class euroadapter extends eurocalc implements itarget

public function requester()

}/**

* 使用者

*/class client

public function makeadapterrequest(itarget $req)

public function makedollarrequest(dollarcalc $req)

}$worker = new client();

**例子(**只顯示對應的設計邏輯部分)

<?php

/** * 介面卡模式 - **介面

* comment 當後台規則不滿足自動化,可以新增對應的介面卡,增加**的復用

* author at

*/namespace controller;

// 每個月份對應的介面卡 06年3月 = sixmarch

use \adapter\sixmarch\lotteryadapter;

/** * **介面 入口檔案

*/final class lottery extends webcontroller

public function _lottery()

}namespace controller;

/** *

*/class lotteryadapter extends autolottery implements ilottery

}/**

* adapter_name 該活動對應的介面卡

*/private function adapter_name()

}}namespace controller;

/** * 自動化**介面的基類

*/class autolottery

// 業務邏輯判斷

// 通過則將資料入庫

// 返回結果

return $rs;

}}?>

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

設計模式 介面卡模式(類介面卡和物件介面卡)

如果去歐洲國家去旅遊的話,他們的插座如下圖最左邊,是歐洲標準。而我們使用的插頭如下圖最右邊的。因此我們的膝上型電腦,手機在當地不能直接充電。所以就需要乙個插座轉換器,轉換器第1面插入當地的插座,第2麵供我們充電,這樣使得我們的插頭在當地能使用。生活中這樣的例子很多,手機充電器 將220v轉換為5v的...

介面卡模式應用 電源介面卡

一模式定義 存在兩種介面卡模式 1 物件介面卡模式,在這種介面卡模式中,介面卡容納乙個它包裹的類物件的物理實體。2 類介面卡模式,在這種介面卡模式中,介面卡繼承自已實現的類。二模式舉例 1模式分析 我們借用筆計本電源介面卡來說明這一模式。已經存在的交流電源 膝上型電腦 電源介面卡 2介面卡模式的靜態...