ChangeWorld
——科技改变世界
摘要: 最近在做一个项目中用到了回调函数,对其理解不是十分清晰,于是在网上搜了一下,研究了一番,终于理解稍稍透彻一些,共享出来,希望对后来人有所帮助。 首先要感谢 使用 AsyncCallback 处理异步调用 一文,受这篇文章的启发,加之msdn 上的定义和举例,我清晰地理解了回调函数的机制。先把原帖发出来,作为参考,再次感谢这位博主的无私帮助精神。参考文章 原文异步调用可以避免主线程受工作线程阻塞,即工作线程执行的过程中,主线程依然可以往下运行,不必等待工作线程完成。下面是一个简单的异步调用加法函数的例子。using System;using System.Threading;// the ... 阅读全文
posted @ 2011-11-25 09:38 ChangeWorld 阅读(1578) 评论(0) 推荐(0) 编辑
摘要: 开闭原则——对扩展开放,对变化关闭。在设计中应尽可能预想到所有可能会变化的类(需求变更),并运用面向对象的抽象思想将这些变化分离出来。比如当一个类提供运算功能,现在只有一个加法的需求,如果只是简单的实现加法算法的话,这是一个脆弱的设计,因为这个运算需求很可能会有变化:添加减法、乘法之类。所以在接到这样的需求的时候能够预想到需求的变更,将这个运算类利用面向对象中的继承将这个类抽象为一个运算类,添加子类继承该运算类,如果需求变更了,则只需要添加子类即可,不需要修改该运算类。 然而在实际开发过程中有些需求的变更是很难预料的,那么就需要在需求第一次变更的时候将这个算法类修改抽象化,那么在下次遇到... 阅读全文
posted @ 2011-12-26 16:26 ChangeWorld 阅读(399) 评论(1) 推荐(0) 编辑
摘要: 面向对象三大特性:封装,继承,多态。 封装,即将业务逻辑或功能方法写到一个类中,与程序母体分离。这一特性实现了程序的高复用性,封装好的类可以拿到其他地方用,就像自定义了一个空间一样。 继承,在程序设计中经常会创建基类来约定该类需要做什么,而将程序实现交给继承其的子类实现,规则是基类中有的方法,子类中必须也要有,而且子类可以扩充,添加其他方法。这样一来通过继承就会衍生出很多不同的子类,这些子类能够完成很多不同的任务和功能,这就是面向对象的三大特性之一,多态。 继承和多态的优势不只是将共有的东西集合到一个类中共用,其还大大提高了程序的可维护性和可扩展性,使程序更加灵活。在封装类时有一个基... 阅读全文
posted @ 2011-10-21 17:12 ChangeWorld 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 在有些项目中会有BS 和CS混合使用,用winform控制web系统的相关操作。一个很经典的案例就是扣扣面板和空间以及邮箱的关联,在winform程序处于登陆状态时,可以直接打开并操作web系统而不用登陆该web系统。在这之中用到了模拟登陆,最近在做此类项目,稍稍研究了一下,发现有些东西不是理所当然的那样,所以不能想当然的去做。 模拟登陆基本思路很简单。在登陆winform的同时创建并实例化一个HttpWebRequest类,携带web系统的url向服务器发送request请求,控制服务器response一个sessionID,再将这个SessionID捕获并存入本地Cookie中。这样... 阅读全文
posted @ 2011-10-19 10:49 ChangeWorld 阅读(2836) 评论(12) 推荐(0) 编辑
摘要: 一个经典的算法,兔子生小兔子。一对兔子三个月大之后每月都会会生一对兔子,假如有一对刚出生的小兔子,并且兔子都不会死,问一年一共可以繁殖多少兔子?每月各是多少对? 这个算法很简单,但小可愚钝,想了好久也没有想出个答案,于是在网上搜出了答案。 对数 第一月 1第二月 1第三月 2第四月 3第五月 5第六月 8第七月 13第八月 21第九月 34第十月 55第十一月 89第十二月 ... 阅读全文
posted @ 2011-09-17 14:04 ChangeWorld 阅读(545) 评论(0) 推荐(1) 编辑
摘要: 1 接口定义一个类需要实现的方法 属性 索引 事件和可能的参数 返回值类型,具体的实现交由相应的类或结构,从而实现多态; 而继承用于在一个现有父类基础上的功能扩展,把几个类中相同的成员提取出来 放在一个父类中,在子类中添加独特的方法 即继承 扩展2 接口能够实现多接口继承,而继承只能实现单继承3 继承能够获得父类方法的实现,而接口只能获得方法的定义,所以必须获得所有的方法4 在继承中 为父类添加方法不影响子类的继承,但在接口中 为父类添加一个方法定义 必须在子类中添加此方法的实现 子类和父类是is a 的关系时 用继承 如苹果is a水果 god is a girl,是can do 的关系时 阅读全文
posted @ 2011-07-28 11:37 ChangeWorld 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 上海是高房价的代表,其高耸云霄的房价的确不足以客观代表普遍水平。那么我们以内地稍稍低调的二线城市郑州为例,探讨工薪阶层是否能够征服房价,幸福快乐的生活。 郑州市2011年房均价位6000+ ,或许很多人会惊呼,这么便宜?完全无压力了。有这种反应并不奇怪,毕竟郑州市的房价与上海市房价相去甚远,但是郑州市的薪水也不可与上海相提并论。 一个有3年经验的程序员薪水一般在3000左右(一般,指的是大多数人即主流薪水,而不是平均值,比平均值更能反映普遍水平。)。来自郑州市统计局发布的《郑州市工资水平分析》显示,上年度即2010年郑州市城镇非私营单位在岗职工年平均工资为29837元,平均到每个月为2500. 阅读全文
posted @ 2011-06-08 11:06 ChangeWorld 阅读(3091) 评论(31) 推荐(10) 编辑
摘要: 房价是个敏感话题,而且是一个被大家谈论得热了又凉,淡了又咸的话题,说起来就烦心,干脆不谈。但却又放不下,剪不断 理还乱。 工薪族面对高房价,除了胸口隐隐作痛和无奈的叹息,就剩下自信的沦丧了。在如此高的房价面前,都变的那么渺小。把薪水和房价拿来作比较,仿若杯水车薪。 本应该是薪水的一部分拿出来支付房费,另外更大一部分用来日常开销,包括吃饭穿衣,休闲消遣。但是实际情况呢?拿上海来说,因为地区的不同,房均价在2W—10W / 平米, 然而上海市民平均薪水呢?超过一万了吗?一万+都算是小康水平了,一万以下姑且称之为贫下中农了。 如果用这样的薪水考虑在上海买套房子,真真正正像个家的样子的房,60平方不. 阅读全文
posted @ 2011-06-03 01:46 ChangeWorld 阅读(6176) 评论(72) 推荐(3) 编辑
摘要: 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。而工程化的最主要的特点是系统化、规范化、可量化并且严格控制流程得完成开发或生产任务,在此严格的条件下优质、高效的进行生产活动。工程化思想的这种优秀品质,决定了她在生产活动中不可替代的地位。比如各大品牌的手机(如Nokia、Apple)都严格的控制其生产流程,所以品牌手机比山寨机质量要好很多,售后维护也比山寨机做到系统、规范。 在软件开发过程中,我们也运用工程化思想指导开发。软件工程是前人总结的心得经验,前车之鉴 后事之师啊。就像武林之中的泛泛之辈意外的得到一本终极武功秘籍,武林至尊 指日可待 岂不快哉!遥想当年,诸葛. 阅读全文
posted @ 2011-05-09 23:34 ChangeWorld 阅读(3350) 评论(5) 推荐(9) 编辑
摘要: 我的周围充斥着计算机专业‘工作经验比学历要重要’的观点,我从来都不否认,但是考研不仅仅是为了一纸文凭而已,考研是努力博取继续进修的机会,在学习更丰富更高层次的理论知识的同时,还争取时间付诸实践,锻炼专业技能。据工信部统计,虽然中国学习IT的学生很多,但IT人才仍然非常奇缺,因为在在IT人才中出现了严重的瓶颈,即大多数IT人员为基层人才,中高级人才还是供不应求。鉴于这一客观事实,考研还是很有必要的。 老师告诉我考学术型研究生是为了做学术研究,然而硕士研究生只是初级研究生,学术研究能力还较为薄弱,学术研究项目其实只能是由博士来做,这么来说的话考取学术型研究生就是为了考博,当然, 还有另外一个选择. 阅读全文
posted @ 2011-04-26 23:33 ChangeWorld 阅读(4558) 评论(42) 推荐(2) 编辑