代码改变世界

php设计模式-注册表模式

2013-05-25 18:04 by youxin, 760 阅读, 0 推荐, 收藏,
摘要:注册表模式其实是一个单例模式,注册表类提供静态方法(或单例对象的实例化方法)来让其它对象访问其中的数据(通常是对象)。整个系统中的每个对象都可以访问这些数据对象。 下面是基本的注册表类的代码:<?phpclass Registry {private static $instance;private $request;//注册表的内容类private function __construct(){}//本类,不可实例化static function instance(){//单例类,通过这个方法返回实例if (!isset(self::$instance)){self::$instance 阅读全文

面向对象语言的多分派、单分派、双重分派

2013-05-25 16:11 by youxin, 2691 阅读, 0 推荐, 收藏,
摘要:1. 分派的概念变量被声明时的类型叫做变量的静态类型(Static Type) 又叫明显类型(Apparent Type)。变量所引用的对象的真实类型又叫做变量的实际类型(Actual Type)。根据对象的类型而对方法进行的选择,就是分派(Dispatch)。根据分派发生的时期,可以将分派分为两种,即分派分静态分派和动态分派。静态分派(Static Dispatch) 发生在编译时期,分派根据静态类型信息发生。方法重载(Overload)就是静态分派。(所谓的:编译时多态)动态分派(Dynamic Dispatch) 发生在运行时期,动态分派动态地置换掉某个方法。面向对象的语言利用动态分.. 阅读全文

Apache下的配置文件httpd.conf、httpd-vhosts.conf(windows),Apache配置虚拟主机,文件可以不用在www文件夹下面

2013-05-24 22:09 by youxin, 4860 阅读, 0 推荐, 收藏,
摘要:httpd.conf文件一般存在于apache目录下的conf文件夹中,主要用来配置apache的。http.conf里面的配置介绍: 1、Listen :监听端口,默认情况是80。 2、ServerAdmin :服务器管理员邮箱。 3、ServerName:服务名。 4、DocumentRoot: 阅读全文

zend studio

2013-05-24 21:01 by youxin, 331 阅读, 0 推荐, 收藏,
摘要:Zend Studio是Zend Technologies开发的PHP语言集成开发环境(Integrated Development Environment IDE)。也支持HTML和js标签,但只对PHP语言提供调试支持。因为是同一个公司的产品,所以提供的Zend Framework方面的支持比其他软件好。Zend Studio5.5系列后,官方推出利用了Eclipse平台,基于PDT的Zend Studio for Eclipse 6.0,之后的版本也都构建于Eclipse。转自:https://zh.wikipedia.org/wiki/Zend_Studio 阅读全文

zend framework 开发环境搭建及入门

2013-05-24 20:51 by youxin, 924 阅读, 0 推荐, 收藏,
摘要:Zend Framework(ZF) 是一种开源的,面向对象的WEB应用程序开发框架,在PHP5下运行,使用MVC软件架构,授權模式採用BSD许可证Zend Framework特征包括[13]所有组件完全面向对象,符合E STRICT错误报表。松耦合(Use-at-will)设计可以让开发者独立使用组件,每个组件几乎不依赖其他组件。默认提供了强壮而高效的 MVC 实现和基于PHP的模板。支持多种数据库,如MySQL,Oracle,IBM DB2,Microsoft SQL Server,PostgreSQL,SQLite和Informix Dynamic Server。支持多种邮件收发系统,如 阅读全文

桥接模式与工厂模式区别

2013-05-24 17:29 by youxin, 2703 阅读, 1 推荐, 收藏,
摘要:工厂模式主要负责创建对象而桥模式主要负责将抽象的不同形式与具体实现部分分离。问题关键是如何理解桥接模式,理解了桥接模式就能明确他们之间的区别,而要理解桥接模式,你应该从宏观而不能从微观的角度去看一个架构的设计,举个桥接模式的例子:最典型的例子就是JDBC。JDBC API(Sun)提供抽象部分,各个JDBC驱动厂商(Oracle, Mysql...)提供实现部分。新的JDBC驱动可以“即插即用”在JDBC API中,而不需要修改我们调用者的代码。这就是所谓的抽象部分(JDBC API)与它的实现部分(JDBC Driver)分离。从宏观角度JDBC可以称为桥模式,但是从微观角度,JDBC中又使 阅读全文

设计模式之访问者模式

2013-05-24 16:24 by youxin, 586 阅读, 0 推荐, 收藏,
摘要:模式动机对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同,访问者模式为解决这类问题而诞生。在现在世界也存在类似的情况,如医院里面的药单(处方单),可以将其看成是药品信息的集合,这些药品的类型并不相同,划价人员拿到药单之后根据药品名称和数量计算总价,药房工作人员根据药品名称和数量准备药品,不同类型的工作人员对同一个集合对象可以有不同的操作,而且可能还会增加新的类型工作人员操作药单。在这里,药单是集合对象,而里面的药品信息是一个个需要访问的元素,工作人员是访问者,他们需要访问存储在药单中的 阅读全文

设计模式之职责链模式

2013-05-24 15:36 by youxin, 759 阅读, 0 推荐, 收藏,
摘要:模式动机:在很多情况下,可以处理某个请求的对象不止一个,如大学里的奖学金审批,学生在向辅导员提交审批表之后,首先是辅导员签字审批,然后交给系主任签字审批,接着是院长审批,最后可能是校长审批,在这个过程中,奖学金申请表可以看成是一个请求对象,而不同级别的审批者都可以处理该请求对象,除了辅导员之外,学生不需要一一和其他审批者交互,只需等待结果即可。在审批过程中如果某一个审批者任务不符合条件,则请求中止;否则将请求递交给下一个审批者,最后由校长来确定谁能够授予奖学金。该过程如下:在图中,从辅导员直到校长都可以处理申请表,而且他们构成了一条链,申请表沿着这条链传递,这条链就叫职责链。职责链可以是一条直 阅读全文

bootstrap居中

2013-05-23 18:47 by youxin, 857 阅读, 0 推荐, 收藏,
摘要:自己在body下加个div,css写成margin:0 auto;width即可。问题:基础布局一般用Bootstrap都是向下面那样吧。 ....如果我想在一个span12里,居中,请问大家是用什么方法的?我之前一直用着个不太好的方法,如: 但是必须根据文本的长度来不停调节offset1,offset2....这样。而且好像不是完全居中。请问有什么更方便的方法吗?好像margin:0 auto;用不了哦。这里有一个居中的实列http://twitter.github.com/bootstrap/examples/marketing-narrow.html参考这个 阅读全文

转:GIT GUI使用

2013-05-22 11:31 by youxin, 1421 阅读, 0 推荐, 收藏,
摘要:前段时间跟着Ruby On Rails的toturial玩了一把Git,今天再回过头来,觉得这个版本控制工具真的很不错。下面来讲一下,在windows下如何通过git gui来管理代码。 首先,要在http://github.com上注册一个帐号吧。对于git,它的描述是:Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software.Git是一个极其快速、高效、分布式版本控制系统,完美的协同开发软件。git.h 阅读全文
上一页 1 ··· 168 169 170 171 172 173 174 175 176 ··· 269 下一页