這次的api對(duì)接特占,除了使用適配器模式缨硝,同時(shí)也用到了工廠模式。首先我們來定義下工廠模式是什么胖笛?優(yōu)點(diǎn)是什么宜岛?工廠模式的優(yōu)點(diǎn)就在創(chuàng)建對(duì)象上。建立一個(gè)工廠(一個(gè)函數(shù)或一個(gè)類方法)來制造新的對(duì)象,它的任務(wù)就是把對(duì)象的創(chuàng)建過程都封裝起來身弊,創(chuàng)建對(duì)象不是使用new的形式了列敲。而是定義一個(gè)方法,用于創(chuàng)建對(duì)象實(shí)例凑术。
做過開發(fā)的人可能都知道所意,數(shù)據(jù)庫的鏈接需要配置不同的數(shù)據(jù)庫參數(shù)來創(chuàng)建數(shù)據(jù)庫實(shí)例。只需要參數(shù)不同泄鹏,就能夠創(chuàng)建不同的數(shù)據(jù)連接對(duì)象秧耗。在上文中我們提到了適配器模式,根據(jù)每個(gè)第三方平臺(tái)胶台,我們會(huì)編寫不同的適配類杂抽。那么如何在上層調(diào)用代碼的地方保持不變韩脏,就需要使用工廠模式,根據(jù)參數(shù)獲取不同的適配類對(duì)象杭朱。然后再調(diào)用適配類的具體方法。
接下來就看看工廠模式類的代碼:
class KmlFactory
{
public static function createObj($str)
{
switch ($str) {
case '***' :
return new Obj();
break ;
case '###' :
return new Obj1();
break ;
default:
throw new \InvalidArgumentException("$str is not a object");
}
}
}
根據(jù)傳入的不同參數(shù)八酒,返回不同的對(duì)象刃唐,這就是工廠模式最核心的代碼。
大家喜歡可以訪問我的個(gè)人網(wǎng)站:http://www.yingminxing.com
如有疑問衔瓮,歡迎溝通交流:QQ:370399195, 微信:yingminxing1988