Archive for 07月, 2008
23个设计模式概念简介
所有结构良好的面向对象软件体系结构中都包含了许多模式。实际上,当我们评估一个面向对象系统的质量时,所使用的方法之一就是要判断系统的设计者是否强调了对象之间的公共协同关系。在系统开发阶段强调这种机制的优势在于,它能使所生成的系统体系结构更加精巧、简洁和易于理解,其程度远远超过了未使用模式的体系结构。
设计模式概念理解
“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”.这是 Christopher Alexander 1977年在其著作中提高的一些建筑学设计问题,在其著作中解释了如何用这些已有的、著名的模式集合来开始全新的有效的设计。
PHP中根据星期几查找相应日期
在PHP中结合使用date()函数和strtotime函数,可以根据某月跟定的星期几来确定其日期。例如,假设某公司要求其销售部在每月第一个星期二提交公司月销售计划。下面的例子显示了如何确定下一个月中第一个星期二的日期:
<?php
$nextmonth=date(’Y-’.(date(’n’)+1).’-01′); //返回下一个月的1日的字符串
$nextmonth_ts=$strtotime($nextmonth); //将下一个月的1日所对应的时间戳保存在$nextmonth_ts变量
$firsttue_ts=strtotime(”Tuesday”,$nextmonth_ts);//使用刚得到的时间戳作为strtotime函数的第二个参数,由于其第一个参数是字符串Tuesday,这个函数会查找对应$nextmonth_ts日期后的第一个星期二
echo ‘Today is’.date(’d M Y’).’<br />\n’;
echo ‘The first Tuesday of next month is’.date(’d M Y’,$firsttue). ‘.’;
?>
我们也可以根据需要将其写为一个函数,这个函数取4个参数,$month、$year、$weekday、$offset(第X个星期几),代码如下:
<?php
function find_weekday($month,$year,$weekday,$offset=1)
{
$month_ts=strtotime(”$month-$year-01″);
if(–$offset>0)
$month_ts=strtotime($weekday,$month_ts);
$month_ts=strtotime($weekday,$month_ts);
return $moth_ts;
?>
