• 设计模式(工厂模式)


    什么是工厂模式:

    根据不同的需求,产生不同的对象。(接收用户提供的参数{类名},创建对应的对象,并返回对象)

    实现工厂模式代码:

    //工厂模式:产生对象

    class Factory{

      //工厂模式不需要创建自己类的对象,因此方法都是静态的

      //@param1 string $class ,需要创建对象的类名

      //@return object,返回的是类的对象,失败返回false

      public static function getInstance($class)

      {

        //加载类

        self::setAutoload();

        //创建对象

        return new $class;

      }

      //自动加载类

      public static function loadAction($class)

      {

        if(is_file("../Action/$class.class.php"))

        {

          include_once "../Action/$class.class.php";

        }

      }

      //自动加载类注册

      public static function setAutoload()

      {

        sql_autoload_register(array('Factory','loadAction'));

      }

    }

    工厂单例模式配合使用:

    class Factory{

      //三私一公

      private function __construct(){}

      private function __clone(){}

      private static $obj=array();

      //工厂模式不需要创建自己类的对象,因此方法都是静态的

      //@param1 string $class ,需要创建对象的类名

      //@return object,返回的是类的对象,失败返回false

      public static function getInstance($class)

      {

        //加载类

        self::setAutoload();

        //创建对象

        if(isset(self::$obj[$class]))

        {}else{

                  self::$obj[$class]=new $class;

        }

        return self::$obj[$class];

      }

      //自动加载类

      public static function loadAction($class)

      {

        if(is_file("../Action/$class.class.php"))

        {

          include_once "../Action/$class.class.php";

        }

      }

      //自动加载类注册

      public static function setAutoload()

      {

        sql_autoload_register(array('Factory','loadAction'));

      }

    }

  • 相关阅读:
    《架构真经》读后感2
    css的引入
    交流会发言
    css学习
    数据结构-哈希表、二叉排序数
    软工人学习日常
    Java包、类、方法、变量、常量命名规范
    数据库命名规范
    学生信息系统jsp界面
    学生信息系统servlet层
  • 原文地址:https://www.cnblogs.com/wangjingwangjing/p/5284147.html
Copyright © 2020-2023  润新知