这次的api对接,除了使用适配器模式,同时也用到了工厂模式。首先我们来定义下工厂模式是什么?优点是什么?工厂模式的优点就在创建对象上。建立一个工厂(一个函数或一个类方法)来制造新的对象,它的任务就是把对象的创建过程都封装起来,创建对象不是使用new的形式了。而是定义一个方法,用于创建对象实例。
做过开发的人可能都知道,数据库的链接需要配置不同的数据库参数来创建数据库实例。只需要参数不同,就能够创建不同的数据连接对象。在上文中我们提到了适配器模式,根据每个第三方平台,我们会编写不同的适配类。那么如何在上层调用代码的地方保持不变,就需要使用工厂模式,根据参数获取不同的适配类对象。然后再调用适配类的具体方法。
接下来就看看工厂模式类的代码:
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");
}
}
}
根据传入的不同参数,返回不同的对象,这就是工厂模式最核心的代码。
大家喜欢可以访问我的个人网站:http://www.yingminxing.com
如有疑问,欢迎沟通交流:QQ:370399195, 微信:yingminxing1988