过河的卒子

点点滴滴体现精彩IT人生
posts - 62, comments - 19, trackbacks - 0, articles - 67
  博客园 :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理

置顶随笔

摘要: 最近项目需求需要一个有分页功能的展示控件,由于数据量非常大GridView控件显得无能为力了。于是自己动手写了一个支持大量数据的分页展示控件GridTable(当然海量数据查询算法还要自己搞定),该控件继承repeater。 控件的数据源不是用datasource赋值,是要实现一个内部委托“ObjectDataSourceBindEventHandler(int startCount,...阅读全文

posted @ 2010-03-02 15:11 卒子 阅读(179) 评论(0) 编辑

2012年2月1日

摘要: 关于JS闭包的概念和是应用这里不说,只针对个人理解做一个简单测试,如果回答正确,并且知道什么回事,说明对闭包的原理掌握差不多了。请看题:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD><script type="text/javascript"> function f1() { var arr = document.getElementsByTagName("p"); for( var 阅读全文

posted @ 2012-02-01 17:54 卒子 阅读(10) 评论(0) 编辑

2011年12月11日

摘要: 定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 当在程序中确定了所需要的通用类,但需要将具体类延迟到运行时才能确定时,原型模式是另一种可以使用的工具。原型模式与生成器模式的相似之处是,都由莫个类明确定组成最终类的部件或者细节;不同之处在于,原型模式中目标类的构建是通过克隆一个或者多个原型类,然后按预期的行为更改.阅读全文

posted @ 2011-12-11 20:12 卒子 阅读(7) 评论(0) 编辑

2011年12月3日

摘要: 生成器模式(Builder Pattern) 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到。 假设需要构建一个用户界面,改页面可以根据数据量大小显示不同的风格。以投资跟踪效益程序为例图1、 图2、尽管不能事先预测在给定的时间内每种项目拥有量,但我们还是希望无论打数据量还是小数据量都能够有种直观的显示方式。我们设定两种显示方式,列表模式和多选模式。先看三种投阅读全文

posted @ 2011-12-03 18:47 卒子 阅读(5) 评论(0) 编辑

2011年11月26日

摘要: 单件模式(Singleton Pattern)是一种用于确保整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享时的程序设计方法(根据实际情况,可能需要几个类实例)。在某种程度上说,单件模式是限制而不是改进一个类的创建,但他却和其他创建模式分在一个组。 单件模式可以保证一个类有且只有一个实例,并且提供一个访问他的全局访问点。在实际应用中有很多这样的情况,例如:窗口管理器,打印机或者一个COM1实例。创建单件的方法 让一个类只有一个实例有很多方法,最容易的方法是在类中设置一个静态变量,并且提供一个得到该实例对象的方法,在第一次实例对象的时候初始静态变量,以后再次实例化该类时...阅读全文

posted @ 2011-11-26 23:02 卒子 阅读(12) 评论(0) 编辑

2011年11月22日

摘要: 抽象工厂模式(Abstract Factory Pattern)比工厂方法模式具有更高层次的抽象。当要返回一系列相关类中的某一个,而每个类都能根据不同需要返回不同类时,可以使用这种模式。生活中的例子:假设一农场主要设计一个蔬菜型花园(VeggieGarden) ,如果这个花园只需要考虑三个关键地方,即:1、边缘种什么植物(borderPlant)。2、中央种什么植物(centerPlant)。3、阴凉部分种什么植物(shadePlant)。 我们的代码可以这样:publicclassVeggieBorder{publicvoidDraw();}publicclassVeggieCenter{.阅读全文

posted @ 2011-11-22 23:42 卒子 阅读(5) 评论(0) 编辑

2011年11月19日

摘要: 上次说到简单工厂模式,特点是有一个具体的类负责决定在单继承体系结构中实例化哪个子类。而工厂方法模式(Factory Method Pattern)对这种思想进行了巧妙的扩展,他不是由专门类来实例化哪个子类,相反,超类把这种决定延迟到每个子类中。这种模式实际上没有决策点,由具体应用来决定到底调用哪个。 工厂方法模式解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。工厂方法模式的对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作.阅读全文

posted @ 2011-11-19 19:12 卒子 阅读(9) 评论(0) 编辑

2011年11月16日

摘要: 简单工厂模式实际上不属于23个GoF模式中的一种。简单工厂模式是通过传入的数据返回几种可能类中的一种类的实例。但这几种类一般会有一个共同特点是,这几种类都有一个共同的父类和共同的方法,但每个方法执行的内容不同,而且根据不同的数据进行优化。下面看个例子:假设我们总是可以通过逗号或者分号来把一个名字分成firstname和lastname。用工厂模式如何实现那?1、两个派生类//基础类publicclassName{protectedstringfName;protectedstringlName; //只有基类有 public stringGetFirstName(){returnfName;.阅读全文

posted @ 2011-11-16 22:36 卒子 阅读(18) 评论(0) 编辑

2011年11月7日

摘要: 刚刚看到一篇搞笑的网络用语,转来一笑一:录音:“小明,窗台上落了鸟屎,去擦一下好么?"“我擦!!我不擦!!”——问:小明擦不擦窗台?二:录音:“小明,今晚上有思修课呢!你去不去??”“我去!!我不去!!”——问:小明去不去思修课?三:录音:“小明,你饿不饿?我们晚上吃什么好呢?”“额。。。我不饿。。”——问:小明饿不饿?四:录音:“小明,你要他那个礼物呢还是我这个礼物呢?”“那个。。。这个吧”——问:小明要哪个?五:录音:“小明,你想好了么?”“想好了”“你先说还是我先说?”“我说。。。你说吧。。”——问:谁先说。六:录音:“小明,昨天下午你抱着的是谁啊?你女朋友吧?”“你妹!!!我妹!!”—阅读全文

posted @ 2011-11-07 12:48 卒子 阅读(53) 评论(0) 编辑

2011年8月26日

摘要: 正如网景公司创始人马克安德森最近在他的著名言论中所说,软件在我们日常生活中占据了越来越大的部分.明白了软件有多么重要.你一定会认为那些工作是开发和维护软件的程序员.一定拿着高工资.同时这份工作也被大多数人所向往.但实际情况不是这样的.为什么? "等等"你说,"难道程序员不是一份高收入工作么?"好吧我告诉你程序员的工资和美国的普通工人不相上下.然而.美国普通工人都是大学的辍学生.如果你将程序员的工资和那些要求更高专业技术的工作相比,会怎么样呢? 一个35岁得谷歌高级工程师.他大概能挣15万美元每年.这些钱足够买一所好房子和养家.但谷歌不会随随便便的雇佣一个阅读全文

posted @ 2011-08-26 12:48 卒子 阅读(33) 评论(0) 编辑

2011年8月18日

摘要: telex 反互联网审查系统是一个由美国密歇根大学开发的新一代反互联网审查的方式。与以往代理和隧道方式不同,这种翻&&&^墙方式没有代理主机IP。以往的代理和隧道方式,必须在墙外有一个服务器代理。但该服务器IP容易被审查系统发现并屏蔽。而新的方式,根本没有代理IP。用户只需一个客户端。当用户访问一个被屏蔽的网站,客户端会采用https的方式,访问一个合法没有被屏蔽的网站。审查系统看到的是访问合法网站。但协议头里面添加真正的 Telex工作站公钥加密的目标地址。另一头,需部署Telex 工作站,就是路由器。这种路由器看到由其公钥加密的协议后,用私钥解密出真正的目标地址,再阅读全文

posted @ 2011-08-18 14:49 卒子 阅读(1999) 评论(0) 编辑

2011年7月31日

摘要: 分类 代码 说明 捕获 (exp) 匹配普通exp文本,并且捕获内容到自动命名的分组里 (?<name>exp)和(?'name'exp) 两个写法意思一样,匹配普通文本exp之前的内容(不包括exp),并且捕获内容到name的分组里面 (?:exp) 匹配普通exp文本,但不捕获exp文本,也不给此分组分配组号。 同(exp)差别:(exp)要捕获并添加内容到组里面,有分组号和名称 ...阅读全文

posted @ 2011-07-31 15:07 卒子 阅读(37) 评论(2) 编辑

2011年7月19日

摘要: 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。我的这个朋友把这篇文章取名叫Build Your ProgrammingTechni阅读全文

posted @ 2011-07-19 22:37 卒子 阅读(47) 评论(0) 编辑

2011年7月12日

摘要: 请在评论里分享你的想法和经验,因为我们都需要从这些错误中吸取教训。为钱而编程如果你对编程不感兴趣,你的代码一定会写的很烂。结果不仅仅你的事业没有任何前途,你的团队也会因此而痛苦不堪。缺乏基本的能力对诸如抽象、多态、接口、异常处理最佳方案等编程概念不熟悉的人写出的代码必然是设计糟糕,可读性和可维护性都极差。自作聪明有些程序员喜欢过于聪明的在一个复杂的语句里包含多个步骤的代码。这会使代码的可读性很差,没人会喜欢维护这样的代码。喜欢卖弄新学到的技术当学到了某些新知识时,你很自然的有一种倾向想立即应用它们。耐心点儿。当真正需要时再用。目标过多为性能、内存使用、健壮性和可靠性设定了太多目标的程序会需要更阅读全文

posted @ 2011-07-12 13:24 卒子 阅读(56) 评论(0) 编辑

2011年4月20日

摘要: 各种场面话大全,特别对我们IT人,灰常有用◆ 父母生日祝酒辞尊敬的各位领导、各们长辈、各们亲朋好友:大家好!在这喜庆的日子里,我们高兴地迎来了敬爱的父亲(母亲)XX岁的生日。今天,我们欢聚一堂,举行父亲(母亲)XX华诞庆典。这里,我代表我们兄弟姐妹和我们的子女们大小共XX人,对所有光临寒舍参加我们父亲(母亲)寿礼的各位领导、长辈和亲朋好友们,表示热烈的欢迎和衷心的感谢!我们的父亲(母亲)几十年含辛茹苦、勤俭持家,把我们一个个拉扯长大成人。常年的辛勤劳作,他们的脸留下了岁月刻画的年轮,头上镶嵌了春秋打造的霜花。所以,在今天这个喜庆的日子里,我们首先要说的就是,衷心感谢二老的养育之恩!我们相信,在阅读全文

posted @ 2011-04-20 11:34 卒子 阅读(71) 评论(0) 编辑

2011年4月1日

摘要: 我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。大量的封装好的类库也屏蔽了很多实现细节。一段时间后,你会发现你知其然,不知所以然。。我以前在CSDN上写过一篇《Java NIO类库Selector机制解析(上,下,续)》,在那篇文章中我说提到过(有讥讽的语气)Java的程序员不懂底层实现,所以很难把技术学得更扎实。此时,一部分程序员会不自然地想学学底层的技阅读全文

posted @ 2011-04-01 10:37 卒子 阅读(76) 评论(0) 编辑