• 设计模式:工厂模式和单例模式


      在平常实用类的时候,往往要进行类功能的扩展,如果直接在里面进行扩展,有可能会对类里面的其他功能产生影响,所以在扩展功能的时候就要重新写类,这就要采用继承的方式,如:

     1 class YunSuan()
     2 {
     3        public $a;
     4        public $b;
     5        function Suan()  //造一个运算的方法
     6        {
     7        }  
     8 }
     9 class Jia extends YunSuan()   //造一个加的子类继承父类
    10 {
    11        function Suan()   //重写Suan的方法
    12        {
    13              return $this->a+$this->b;
    14        }  
    15 }

    工厂模式:生产对象

      如果类里面的方法名使用了很复杂的单词命名,就会导致在使用类时必须将类里面的方法名记住,这会在使用类的时候造成不便。采用工厂模式,通过某些特殊的符号来生产相应的类,就会使我们在使用类的时候很方便,如下面一个工厂模式的类:

     1 class gongchang    //造一个工厂模式的类
     2 {
     3       static function shengchan($ysf)  //定义一个生产对象的方法
     4       {
     5            //判断每个符号,并生产相应的类
     6             case "+":
     7                ruturn new Jia();
     8                break;
     9             case "_":
    10                return new Jian();
    11                break;
    12       }
    13 }

      造好里之后,就可以用相应的符号来生成相应的对象,来实现功能:

    $jia  = gongchang::shengchan("+");
    $jia->a = 5;
    $jia->b = 10;
    $jia->suan();

    单例模式:

    在程序中,如果一个类来造了很多对象的话,就会导致服务器出问题,所以我们要控制生成类的个数,这就要用到单例模式,控制每个类只能造一个对象。

    class DBDA
    {
          public static $dx;    //存储对象
          //将构造函数变成私有,避免外界访问
          private function __contruct()
          {
          }
          //生成对象
          static function shengcheng()
          {
                if(empty(self::$dx))
                {
                       $dx = new DBDA();
                }
                return self::$dx;
          }
    }
  • 相关阅读:
    git在eclipse中的配置 转载
    Java annotation 自定义注释@interface的用法 转载记录
    Java内存溢出的详细解决方案 转载
    sql server 分页、存储过程、视图
    重新认识Asp.Net管道模型
    vim修改替换
    Excel hong
    开始第一次Delphi
    常用正则表达式的网站
    := 赋值语句
  • 原文地址:https://www.cnblogs.com/zk0533/p/5662812.html
Copyright © 2020-2023  润新知