mvc工厂模式课程

来源:7-7 工厂模式初体验

科密明哥

2016-08-11 00:08

工厂模式那里,为什么能调用connect ,query那些方法,这些不都是只针对mysql类的对象才能调用吗?那如果是其他的数据库类如sqlite还能这样调用吗

写回答 关注

2回答

  • fox_Dmu
    2016-08-11 16:46:01
    已采纳

    如果是其他的数据库,如SQL server的数据库,那么你要写一个SQL server的数据库类,并且这个SQL server数据库类所具有的方法及调用这些方法的参数要符合一个通用的标准.这样一来,不管你用工厂模式实例化出什么样的数据库实例,这些数据库实例都具有相同的方法,相同的调用参数,这样一来,程序的可扩展性就提高了.

    不同的数据库类实现相同的方法(及调用方法时的参数),这最好先做一个数据库类的接口,制定一个标准,让各种不同的数据库类来实现这个接口的功能.

    不二之家

    为什么不这么写, 这样写了, 以后比如SQL server等数据库也能连接啊, 比如 $mysql = DB('mysql'); 里面的方法好像也不需要重写, 不简单点吗? function DB($dbName){ $db = new $dbName; return $db; }

    2016-09-21 20:59:12

    共 2 条回复 >

  • fox_Dmu
    2016-08-11 16:51:04

    另外数据库类一般都使用单例模式的.

MVC架构模式分析与设计

通过学习MVC理论知识,由浅入深带您实现人生第一个MVC框架

82400 学习 · 929 问题

查看课程

相似问题