工厂模式记

抽象产品(规范工厂必须要做的事)

interface db{

  public function connect();

  public function query();

}

 

//第一个生产线叫mysql

class mysql implements  db{

  public $sql;

  public function connect(){

    //mysql建立连接代码

  }

  public function query(){

    //执行方法

  }

}

//第二个生产线叫MSsql

class mssql impements db{

  public $sql;

  public function connect(){

    //mysql建立连接代码

  }

  public function query(){

    //执行方法

  }

}

 

//工厂管理员(调用入口)

class OperationFactory {

  public static $obj;

  public static function getdb($type){

      switch($type){

        case 'mysql':

          self::$obj = new mysql();

          break;

        case 'mssql':

          self::$obj = new mssql();

          break;

        }

    return sefl::$obj;

  }

}

 

//程序员调用

class p{

  $db = OperationFactory::getdb('mysql');

  $db->connect();

  $db->sql = 'select id from table1';

  $db->query();

}

 

总结

简单工厂模式:
抽象基类:就是定义你这个厂里干活的一个规范(厂规),然后每个生产线都照这个规范来操作;
子类继承基类:每个生产线都必须按照厂规来完成自己的任务;
工厂类:相当于工厂管理,这里用于判断,根据客户要求,把任务下达到相应的生产线。

posted @ 2014-04-04 15:44  naci  阅读(141)  评论(0编辑  收藏  举报