摘要: 使用工厂模式的目的或目标?工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。假设不使用工厂模式:那么很多地方调用类a,代码就会这样子创建一个实例:new a(),假设某天需要把a类的名称修改,意味着很多调用的代码都要修改。工厂模式的优点就在创建对象上。工厂模式的优点就在创建对象上。建立一个工厂(一个函数或一个类方法)来制造新的对象,它的任务就是把对象的创建过程都封装起来,创建对象不是使用new的形式了。而是定义一个方法,用于创建 阅读全文
posted @ 2014-03-11 19:22 王滔 阅读(24189) 评论(3) 推荐(0) 编辑
摘要: 一、单件模式英文叫做sington。其他语言中有叫做单例模式,其实都是一样的道理。保证只会出现单个实例,所以是单例。翻译成单件,永远只会产生一件,呵呵。还有翻译成单元素模式。其实关键是看这个英文比较好。英文是sington,统一是使用这个单词。单件模式的目的我理解如下:避免重复创建(实例化)对象,已经有现成的实例就用现成的。减少资源的浪费(因为创建多个实例,浪费内存,完全没必要),单件模式保证了每时每刻引用的都是同一个实例。为什么同时创建多个实例会引起逻辑上的错误呢?$obj1$obj2多个实例。可能会覆盖掉里面的静态static变量吗? 不是这样子的。其实是因为我目前还没遇到更加严重的问题。 阅读全文
posted @ 2014-03-11 19:21 王滔 阅读(2734) 评论(0) 推荐(0) 编辑
摘要: 实际上在,做web开发,比较少遇到使用一些算法之类的,毕竟不是做搜索引擎,也不是写底层(比如写个类似于mysql这样的数据库,里面需要自己实现排序算法),另外,每种语言,比如java,php都或多或少已经封装好排序函数给程序员使用。比如有个共识,大家做web开发的基本都明白,业务逻辑多比较简单,不是... 阅读全文
posted @ 2014-03-11 19:04 王滔 阅读(2260) 评论(0) 推荐(2) 编辑
摘要: 原来的mysql_connect是非持久连接,所以即使你在当前脚本中没有使用mysql_close函数进行关闭连接。脚本执行完毕后,连接标识会自动释放掉。这里是什么完成自动上释放的操作呢?php跟java一样,有一个垃圾资源回收系统,对于不再用到的资源会自动进行内存回收。怎么实现的,不知道。pconnect()是建立持久连接,特点是:当前脚本执行完毕后。该连接标识不会被释放掉。下一个脚本文件还可以使用。持久连接的实际用处:假如一个php脚本文件,同时会有多个用户访问该页面。里面涉及到数据库查询操作。如果使用非持久连接的话,那么每个用户都会从新建立一个数据库连接。而持久连接,多个用户访问同一个文 阅读全文
posted @ 2014-03-11 18:58 王滔 阅读(1458) 评论(0) 推荐(0) 编辑
摘要: 先来看看对一个字段做全文索引,作为一个数据库系统需要做哪些工作?假设一个文章表里面包含几个字段:文章id、文章作者、文章标题、文章内容比如,我们对文章内容这个字段artilce_content建立全文索引,这样方便对文章里面的内容使用关键词搜索。数据库系统首先需要从文章内容(这个字段内容)中提取关键词,因为只有提取了关键词,才好建立类似索引目录—类似于新华字典那样的笔画页码对应关系,当你搜索一个词语”beijing”的时候,就直接去索引中查找,然后就可以定位到数据行的具体位置了,不需要扫描文章表很多行。这就像,如果我想去新华字典中查找一个汉字,我直接按照笔画或者按照拼音来查找(这个就是新华字典 阅读全文
posted @ 2014-03-11 18:47 王滔 阅读(10893) 评论(0) 推荐(0) 编辑