随笔分类 - 随感而发
摘要:为了弄清楚COM库的运行原理,特意做了这个实验: #include "stdafx.h"#include "objbase.h"#include "atlcomcli.h"#include "limits"//#include "commctrl.h"#import "msscript.ocx" n...
阅读全文
摘要:软件工程,模式,语言,设计思想发展到今天,说白了,所有的技巧,思想,原则归根结底都是为了这个DRY 从机器语言开始:为了DRY,出现了汇编符号来代表指令,使开发人员不用“重复翻阅指令手册”为了DRY,出现了宏汇编,来使开发人员不用“重复编写同一个过程”为了DRY,出现了C,Fortran等,使开发人...
阅读全文
摘要:Fizz-Buzz-Whizz问题描述:1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。2. 让所有学生拍成一队,然后按顺序报数。 3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不能说该数字,而要说Fizz;如果所报数字是第二个特殊数(5)的倍数,那么要说Buzz...
阅读全文
摘要:对静态语言而言 对象向外界承诺我有什么,客户端可以依赖这些承诺,它通过它的"类型"来承诺这一点 优点是: "它承诺了有的就一定有", 缺点是:"它没有承诺的就一定没有"对动态语言而言 从不向外界承诺我有什么,我随时会变,这会我是鸭子,过会就变成了一只鸡 优点是:"它有什么客户端就可以使用什么"缺点是...
阅读全文
摘要:WB Decorator装饰器模式 Intent意图:Attachadditionalresponsibilitiestoanobjectdynamically.Decoratorsprovideaflexiblealternativetosubclassingforextendingfunctio...
阅读全文
摘要:过度定义需求和过度定义问题的解决方案,都是很危险的例如,在建筑蓝图上,建筑师可能指出房间中电灯开关的大概位置,但是要到装修的时,等布线工作完成之后,才能确定开关的准确位置,在建筑蓝图上指定电灯开关的准确三维位置是愚蠢的行为.过度定义在两个方面造成危害:第一,设计者关注于过于细节的问题,而无法把精力放...
阅读全文
摘要:CH1 1,很多人畅谈自己就职"计算机行业","电讯行业","在线电子交易行业"时,很容易沉溺于一种假象,认为他们自己就是高科技世界里的一部分,而实际上,只有那些做基础研究,创新研究的人员才算是高科技工作者,其他人只是在运用他们的成果而已. 2,关注于具体的技术问题,是因为技术问题比非技术问题简单...
阅读全文
摘要:1,规定对天才来说多余,对蠢才来说无效,只对中间这一部分有用(我至今没见到过天才,蠢才到是不少) 2,设计上顿悟的火花一闪而过,没有规律可循.良好的测试无法保证你在需要的时候灵感乍现,但是给人信心的良好测试和精心重构过的代码可以给你随时闪现的灵感做好迎接的准备,以便灵感一旦到来,你就能抓住她. 3,...
阅读全文
摘要:要点1CodeDomProviderMSDN描述CodeDomProvider可用于创建和检索代码生成器和代码编译器的实例。代码生成器可用于以特定的语言生成代码,而代码编译器可用于将代码编译为程序集。注意:在 .NET Framework 2.0版中,在代码生成器和代码编译器中可用的方法可直接从代码...
阅读全文
摘要:一个偶然的机会,调试一段多年前的程序,那段程序有一套自动化的测试,但是经过多人易手,变化已经比较大了,测试已经无法通过,那么我的切入点就放在了这些测试里面. 这是一段带界面操作的程序,目标是测试一个矢量图形控件,这个例子里我关心的大致功能接口如下: 1, PlaceTestingSystem(.....
阅读全文
摘要:1,向敏捷转变的过程是一个很容易出乱子的过程,尤其对项目的领导力来说。在实施敏捷的过程中,会突然释放出一些有用的信息,将原来隐蔽起来的真相推倒聚光灯下。 2,假如执行者忽略了技术实践(比如测试驱动开发,重构,持续集成等),代码基础很容易被缺乏经验的开发人员搞坏,这时候,任何开发过程都无法自动修复。3...
阅读全文
摘要:躺了一会,回忆以前看过的一些描述"原本"的知识,突然想到简单的数学运算1+1=2,在程序设计里的原本是什么呢,想到这里,不睡了,按照前人的指引,我也来探索一下阿(以下代码使用C#4.0,未使用LINQ,其他语言可以找对应的语法) 直接写下最直接的代码如下这就是1+1=2,没错!这个子程序很具体,...
阅读全文
摘要:状态机 在理解状态机之前,总是把状态里简单地理解为状态模式,最近,我仔细分析了状态机的实现机制,发现状态机和状态模式还是有很大的不同。 一,状态模式是具体的,针对每个需求有一个状态集,并为其实现特有的迁移机制。状态机是抽象的,不是针对特定的需求,而是对各种与相关的问题的进一步抽象,那么用状态机回...
阅读全文
摘要:单派与多派 (Single Dispatch and Multi Dispatch)"检查一个数据项的类型,并据此去调用某个适当的过程称为基于类型的分派"。 上面是来自《计算机程序的解释与构造》的一段话,今日有幸读到。对于Dispatch这个词,我第一次接触,是来自Com/DCom年代的自动化接口(...
阅读全文
摘要:当下时代,各种时髦技术层出不穷,尤其是IT行业,引领各种技术前沿,各种华丽的软件技术则是日新月异,让人无暇迎接,对于新入行的学徒而言更是如此。引用别人的一句话:用有穷的精力,去迎接无穷的变化,何苦呢 ! 你会发现永远都被牵着鼻子走,而且永远慢半拍,所以在面对这些层出不穷的技术的过程中,千万不要被蒙...
阅读全文