- 博客(42)
- 资源 (20)
- 收藏
- 关注
原创 3、装饰模式 Decorator Pattern
装饰模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。类该对扩展开放,对修改关闭关羽装饰模式,网上各种吃喝示例。我这里就不借鉴别人的,自己来做个新的例子。当然还是离不开吃喝,用个老北京小吃来举例吧……卤煮火烧好,首先我们先对卤煮进行分解,看看我们都需要实现什么东西。基本的组成原料包括:小肠:intestine肺:lung肝:liver豆腐:tofu饼:cake首先卤煮最基础的就是底。可以理解为intestine+lung+liver+tofu。还有
2020-08-07 16:11:48 140
原创 2、观察模式 Observer Pattern
观察者模式,定义了对象支架的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会周到通知并自动更新。其实就是一个数据源,其他观察值都订阅这个数据源并提供一个统一的数据更新方法供数据源数据更新的时候发送通知给各位观察者。精髓就是所有观察者必须实现一个统一的update方法。废话不多说了,其实理解到这个程度基本就OK了。为了交互对象之间的松耦合设计而努力。发个例子:气象数据变化于展示数据源:气象数据WeatherData观察者:气象展示CurrentDisplay数据对象实现的接
2020-08-07 16:11:17 136
原创 1、策略模式 Strategy Pattern
策略模式:抛砖引玉,为了让一些小白理解设计模式而写,大神请绕行。顺便可以熟悉GoLang经典鸭子问题:鸭子有个基础的父类,但是有很多种鸭子,比如:模型鸭、唐老鸭、绿头鸭鸭子属性这里就忽略了,直接用两个行为来举例子:叫和飞从这3种鸭子来看:绿头鸭会呱呱叫,模型鸭不会叫,唐老鸭会说话(就算是会说话吧)绿头鸭会飞,模型鸭和唐老鸭都不会飞好了,我们现在需要做的就是实现一个鸭子的父类,让后让模型鸭、唐老鸭、绿头鸭都继承这个父类。定义飞和叫两个行为接口,每种鸭子继承父类并实现飞和叫两个行为。找出应用
2020-08-07 16:10:07 213
原创 设计模式总结(应用场景分析)
1、策略模式 Strategy Pattern策略模式主要针对归属于同一基类,有同样的方法,但是各自方法的实现截然不同。这时我们通过策略模式将这种共同的方法抽象成统一的接口,并实现所有可能的方法。某一子类通过集成父类来集成这种接口方法,并通过初始化自己所需要的实现方法来实现具体的行为2、观察模式 Observer Pattern针对同一数据源被不同的实例所使用。通过观察者模式定义一个主题接口,并定义注册、注销、通知这些方法;定义一个订阅者接口,并定义统一的数据更新方法将数据源实例化并实现主题接
2020-08-07 16:06:12 404
原创 读书笔记-软件架构师应该知道的97件事【2012-10-15更新】
很不爱看书的一个人,这次改用新的方式,边看边笔记,希望能把书看完吃透!计划每天10条,最后7条,通过10次来读完此书。言归正传!1、客户需求重于个人简历 不要追求时尚的技术,以客户的需求为出发点去考虑。脚踏实地的为客户着想,选择正确的解决方案降低项目的压力。 把客户的长远需求摆在自己的短期利益之上2、简化根本复杂性,消除偶发复杂性
2020-08-07 16:03:24 131
原创 大话设计模式【阅读笔记,附PHP版代码】更新中……4月3日更新!
工作不算忙,抽空看看设计模式的书,下了一本《大话设计模式》抽空读读,理解下思想。由于随书附带的源代码非PHP版,所以将部分内容用PHP作了下测试,并附上源代码!希望多各位PHP同行有所帮助!高手勿拍!附件:大话设计模式(带目录完整版).pdf大话模式源代码.rar第一部分:简单工厂模式简单理解就是在基本的OO时,通过增加模式工厂,来实现对不同类的实例化。
2013-04-03 17:53:11 377
转载 Nginx优化教程 实现突破十万并发
nginx指令中的优化(配置文件)nginx进程数,建议按照cpu数目来指定,一般为它的倍数。worker_processes 8;为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 001
2013-03-20 16:03:10 303
原创 PHP产生随机码方法
根据需要产生随机码,先上代码$activecode = array();$len = 10;$allnum = 500;$str = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';for($i=0;$i<$allnum;$i++){ $code = str_shuffle($str); $code = substr($code,
2013-03-14 13:46:12 266
转载 30个创意出色的非常实用的jquery框架插件-(视觉大背景,瀑布流效果)
1。Grid Navigation Effects with jQuery一些整齐的网格使用jQuery的导航效果。演示下载(2)Animate Curtains Opening with jQuery创建绳子被拉时动画窗帘开放,并通过插件实现反弹效果演示下载(3)Rotating Image Slider with jQuery这个插件我们可以创建非对称图像滑
2012-11-26 11:28:11 277
转载 PHP提高编程效率的方法
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row
2012-10-23 14:04:43 279
转载 FREE
1、什么是“免费”? 免费的本质是让钱在不同的产品之间、人之间、现在和未来之间、不与钱打交道的市场和金钱市场之间转移,即“交叉补贴”,主要有4种类型: • 直接交叉补贴(餐馆啤酒免费畅饮,实际上靠菜肴补贴成本) • 三方市场(Google AdWords,网民得到免费的搜索服务,广告主直接买单) • 免费加收费(QQ,普通用户免费,但会员付费可享受增值服务) • 非货
2012-10-12 09:43:49 369
转载 使用mysql-proxy 快速实现mysql 集群 读写分离
目前较为常见的mysql读写分离分为两种: 1、 基于程序代码内部实现:在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。 2、 基于中间代理层实现:我们都知道代理一般是位于客户端和服务器之间,代理服
2012-09-28 15:31:25 335
原创 php二进制权限处理(for beginner)
用php二进制控制权限可以给我们带来很大的方便举个例子:目前有3个功能:A、B、C那么对应我们给他们3个赋个权限值:A:1;B:2;C:4是为新手写的,所以说明下:(高手绕道吧)00000000,这个是个二进制码,从右向左,第一位为1的时候值为1,(A),第二位为1时值为2(B),第三位为1时值为4(C),以此类推!那么我们可以用的权限值为:1,2,4,8,16,32…
2012-09-27 13:29:27 397
转载 MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询
2012-09-27 11:16:38 928
转载 服务器架构方案一,支持百万级很轻松
我是写代码出身,因为时间长了,后来做了一些服务器架构方面的工作,我很喜欢服务器架构的工作感觉非常的有意思,也许是写代码写时间长了,写烦了吧。做大型项目服务器架构师是非常必要的,他们好比建筑行业的图纸设计师,如果没有好的设计,大楼盖到一半有可能就倒了,程序人员好比是泥瓦匠,农民工。经常听到有人说代码农民工,是不是从这儿来的。我去过一家公司,他们有一个自己的网站,一天的pv流量差不多有100多万,当时
2012-09-27 10:48:33 392
转载 MySQL日期时间函数大全
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEK
2012-09-27 09:29:11 384
转载 简单说说PHP优化
<br /> 我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。下面我想讲讲我对PHP优化的理解。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。<br />进行大范围的优化,而不是死啃某些程序代码<br />我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不是对你的PHP代码加以改进从而提高程序的运行速度,因为比起你将程序中的正则优化为字符串处理函数从而提
2010-11-19 11:05:00 200
转载 PHP生成静态html文件 的三种方法
<br />本文将介绍Php 生成静态html文件的三种方法 。<br /> <br />1,下面使用模版的一个方法!<br /><?php $fp = fopen ("templets.html","a"); if ($fp){ $fup = fread ($fp,filesize("templets.html")); $fp2 = fopen ("html.shtml","w"); if ($fwrite ($fp2,$fup)){ $fclose ($fp); $f
2010-11-15 14:13:00 182
转载 php多线程
以下都是转载, 简单说下, php是不支持多线程的。。。。PHP语言本身是不支持多线程的. 总结了一下网上关于PHP模拟多线程的方法, 总的来说, 都是利用了PHP的好伙伴们本身所具有的多线程能力. PHP的好伙伴指的就是LINUX和APACHE啦, LAMP嘛. 另外, 既然是模拟的, 就不是真正的多线程. 其实只是多进程. 进程和线程是两个不同的概念. 好了, 以下方法都是从网上找来的.
2010-05-11 17:51:00 339
原创 PHP向特定URL发送POST数据
今天工作中遇到了POST数据的问题,需要向一个特定的URL发送POST数据。现将PHP发送POST数据的方式总结下,方便自己造福后人: 方法一:HTTP函数发送方式说明:$data为POST发送的数据:$key为参数名,$val为参数值$URL = "http://pre.payment.sdoa.sdo.com/";$data = $key1."=".val1."&".$
2009-12-03 13:13:00 6018 3
转载 jQuery白痴级入门教程
jQuery白痴级入门教程本文写给那些完全不懂JS,只会一些HTML和CSS的同学!本站就是范例会JS的请绕行,本文对你太白痴;不会HTML和CSS的请绕行,你可能会看不懂下面的内容。(英文最好也会一点,不然会很麻烦)什么是jQuery?jQuery是一个JavaScript库,白痴解释就是一个JavaScript工具箱,很多现成的工具,想用什么就拿什么。省去了自己重新编写代码的烦恼
2009-11-11 16:38:00 357 1
转载 PHP与魔兽--看PHP设计模式
通过魔兽看PHP设计模式前段时间看到有人用魔兽来解释设计模式,感觉很有意思,于是我把它改了改,又添加了些设计模式内容,今天发出来。有些地方借鉴了前人的内容,没有注明,请前人不要见怪啊。这里用大家感兴趣的魔兽3来讨论PHP的几种常见的设计模式:单件模式、策略模式、工厂模式、观察者模式。今天就讲这四个吧,以后继续。这些设计模式,都是针对面向对象来说的,所以都用PHP5,另外在这里我想说的是PH
2009-11-03 16:53:00 370
原创 phpMailer中文说明
phpmailer v5.1下载中文使用说明(简易)phpmailer 使用说明(html英文详细版) A开头:$AltBody--属性出自:PHPMailer::$AltBody文件:class.phpmailer.php说明:该属性的设置是在邮件正文不支持HTML的备用显示AddAddress--方法出自:PHPMailer::AddAddress(),文件:class
2009-10-31 17:44:00 971
转载 PHP程序员应该使用的10个组件
作为一个PHP程序员,你应该知道PHP有着最大的代码库。所以无论你想在程序中添加什么模块,肯定能找到开源解决方案。 开源解决方案可以给你很大的帮助,比如:开源代码是由很多人一起完成的,因此往往比一个人完成的结果要好。 你可以获得免费的代码更新和升级,否则你需要自己来写这些新的内容。 你节省了开发时间,同时提高了项目的质量 做了那么多年的网络开发人员,我自
2009-10-31 17:36:00 248
转载 Flex学习笔记_05 使用容器控制界面布局_03动态布局、导航容器、表单布局
3. 动态控制对象的布局 3.1 使用Tile 显示多个按钮 Tile直接继承Container,使用起来非常方便。适合重复排列的元素。direction 属性值为 horizontal时,设置其子级对象的布局方向为水平方向。tileWidth 和 tileHeight 用来控制每个子级对象的长和宽。 <!--[CDA
2009-08-19 16:03:00 1580 1
转载 Flex学习笔记_05 使用容器控制界面布局_02窗口布局
2. 窗口布局 Panel组件就是这样一个窗口组件,它直接继承Container。和它的子类TitleWindow都具有窗口程序的特点:有标题条,可以放置其他内容,形成一个整体。 2.1 Panel 组件 fontSize 表示字体大小,默认是10.一般中文12显示较清晰。title 表示窗口的标题。ControBar Panel的一个容器,位置不可调整总是在底部,布局模式
2009-08-19 15:58:00 1653 1
转载 Flex学习笔记_05 使用容器控制界面布局_01管理程序的布局
1.管理程序的布局 容器累组件都位于mx.containers包中。Container类是UIComponent的子类,是所有Flex容器类的父类,每个容器类都在它的基础上添加自己的功能。 1.1控制Application 的布局 Application 是一个特殊的容器,位于界面元素的根部,包含了整个程序的所有元素。layout : 值为absolute时,hori
2009-08-19 15:51:00 1306 1
转载 12个Flex常用功能代码
1。 复制内容到系统剪贴板 System.setClipboard(strContent); 2。 复制一个ArrayCollection //dummy solution( well, it works ) var bar:ArrayCollection = new ArrayCollection(); for each ( var i:Object i
2009-08-18 14:02:00 256
转载 Adobe Flex最佳学习路线
目前Adobe Flex的中文版学习资料比较少,而且大多都很零散,不适合用来系统地学习。我在这里罗列一下在我的学习过程中读过的一些资料。当然是以Adobe的官方文档为主,这些文档内容非常详尽,应该作为学习的首选。首先下载并安装好Flex开发工具Flex Builder 2。Flex Builder 3的Beta版目前还不是很稳定,不推荐使用。我发现这篇文档非常适合新手用来入门:重庆大坪的刘刚所翻译
2009-08-17 17:55:00 237
转载 推荐60+ Flex开发参考网站
下面是一些好的Flex开发的网站或者Flex资源,如果你使用Flex开发,可以参考一下。 新手入门参考:Adobe Flex 3 - adobe.com Adobe Flex Sample Applications - adobe.com Video Training (Learn Flex in a Week) - adobe.com RSS Feeds (Get r
2009-08-17 17:32:00 243
转载 FLEX 做的不错的网站
http://www.mvelopes.com/mvelopes/online_budget.php flex做的分析软件 http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube/ 这玩意,Flex2的扭曲变形效果 ,呵呵,有可能你用得到flex中 http://webmessenger.yahoo.com/
2009-08-17 17:27:00 410 1
原创 SilverStripe一些问题汇总
1、数组无法输出至模板的问题silver的框架中为了方便访问控制,只能将DataObject类型或其子类型输出到模板上,且必须使用其中定义的方法来获取record:protected属性的值(因为该属性是保护类型的)。若要输出一组数据必定要返回DataObjectSet类型对象,模板会自动遍历上面的items:protected属性。解决方案:将数组的元素赋值分别赋值给DataObject
2009-05-26 11:25:00 490 2
原创 silverstripe学习(继续)
今天来学习怎么写页面 1、数据相关页面,比方说要建立一个表,那么需要在sapphire/security下面建立一个类的php,继承自dataobject,将设计好的字段全部写到该类中作为成员变量static $db的数组中,像自增id,classname,created这样的是数据库自己会自动建立的,就不需要写了,只需要将有实际意义的写入就可以了,另外static $indexes 指的是
2009-05-20 10:36:00 800
原创 SilverStripe创建新的模板
今天在学习silverstripe的东西,没什么资料,很晕,做mvc的设计有点捉不到头绪,自己边看官网的文档便自己操作,整理出来,以作备忘 首先需要创建一个新的page type: 我们在ss系统中,创建一个新的页面需要选择一个page type,ss将会寻找相应的模板。因此第一步是创建一个新的page type。 每一个页面都对应2个php类,一个
2009-05-08 14:23:00 812
转载 SilverStripe名词解释
page type 網頁類型 當建立一個新的頁面, 會選擇一個頁面的page type. 也就是page 的LAYOUT。 page type指定一個樣板(template)給這個page,就可以在這CMS內編輯field(就是可以填寫內容的欄位), 以及有page特定的行為(behavior)。 Virtual URLs 當建立一個新的page, silvertripe就會建立
2009-05-08 09:50:00 357
转载 优化PHP代码的40条建议
1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。2.echo 比 print 快。3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。5.注销那些不用的变量尤其是大数组,以便释放内存。6.尽量避免使用__get,__set,__autoload。7.require_once()代价昂贵。8.在包含
2009-05-07 10:44:00 166
原创 个人总结FLEX资源
《Action Script3中文教程》快速入门教程!讲的很全面!很详细的将了AS3语言各个方便的处理方法!http://download.csdn.net/source/1277464
2009-05-07 10:37:00 197
转:php+jquery实现仿iphone滑动换页效果源码
2012-10-22
html5手册w3c标准
2010-10-13
Flex IOC 框架概览
2010-08-24
phpmailer 使用说明(html版)
2009-10-31
一些计算机四级的真题和知识点
2009-10-10
Flex中文入门帮助教程
2009-08-18
PHP邮件类(PHP发送邮件)
2009-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人