技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Cat in dotNET
    在上一篇文章里,我们完成了 Dispatcher 类的接口设计,现在我们就来考虑一下如何实现这个类。Notify & Capture要实现 notify 和 capture 就太容易了,我们只需要把 capture 传入的 handler 都保存下来,然后在 notify 里面找到匹配的 handler 就可以了。
    在《从 if else 到 switch case 再到抽象》这篇文章里面说到,解决 if else 和 switch case 分支过多的一个方法,就是做一个专用的 dispatcher ,让它来负责进行筛选与转发。至于筛选条件的描述,模式匹配是一种很常见也很好用的方式。在 JavaScript 里面,用 JSON 来描述模式又是相当方便的事情,所以我们来做一个 JSON 模式匹配工具吧。
    今天早上在 Stack Overflow 看到了这个问题: Why don\'t self-closing script tags work? 。答案给出的解释是,在 XHTML 的标准里面规定非 EMPTY 标签不能使用自关闭形式。注意这里使用的是全大写的 EMPTY ,所以我不把它翻译为「空白」。那么 EMPTY 到底是什么呢?写过 DTD 的人应该知道它是个关键字,用来指明一个标签的内容必须是空白,而不能包含文本内容或子节点。看看具体的例子就很容易明白了:...
    在 JavaScript 中监听用户的键盘输入是很容易的事情,但用户一旦使用了输入法,问题就变得复杂了。输入法应当如何触发键盘事件呢?是每一下击键都触发一次事件,还是选词完毕才触发事件呢?整句输入又该如何触发事件呢?不同的操作系统和不同的浏览器对此有不同的看法。在最糟糕的情况下,用户使用输入法后浏览器就只触发一次 keydown ,之后就没有任何的键盘事件了。这对于 Suggestion 控件的实现来说是个大问题,因为 Suggestion...
    大家觉得在接手遗留代码时,见到什么东东是最让人感到不耐烦的?复杂无比的 UML ?我觉得不是。我的答案是,超过两个 else 的 if ,或者是超过两个 case 的 switch 。可是在代码中大量使用 if else 和 switch case 是很正常的事情吧?错!绝大多数分支超过两个的 if else 和 switch case 都不应该以硬编码( hard-coded )的形式出现。复杂分支从何而来首先我...
    上个月跟刘江以及一些《程序员》的热心作者读者吃了一顿饭,刘江让大家谈谈《程序员》的内容以及未来的方向。在激烈的讨论之后,我觉得我应该把自己的想法写下来,但那篇文章在我的草稿箱里躺了一个月了,就是无法结尾。那篇文章想要表达的意思很简单,我认为《程序员》应该提供一流的阅读体验。至于作者和编辑手上的内容,就如同程序员手上的代码一样,都只...
    看了一下 Jeff 的《李笑来激起千层浪,赵姐夫力拒众强敌》,回顾了一下之前 Twitter 上的讨论。我个人觉得, Apple 观点和 Microsoft 观点是不同的,所以才造成了如此之多的争论。很多人在使用 Microsoft 技术的同时,由于 Microsoft 铺天盖地的宣传信息,自然而然地也接纳了 Microsoft 观点。使用这种观点去跟持有 Apple 观点的人争论是没有意义的,因为大家...
    相信大家最近都看到了有一篇题为《程序员需要培养企业家式的能力》的热文吧。在我首次读到这篇文章时,我并不太同意文章开头的几段话――“程序员在公众面前讲话会脸红,不能很好地表现自己”,你开玩笑吧?在我熟悉的程序员当中,没几个是这样子的,我很喜欢跟他们聊各种各样的事情,从而获得更多有趣的观点,也激发自己的创意。后来想...
    Question在Firefox等浏览器中,如果你打开一个页面并进行若干操作,例如在文本框进行输入,甚至点击按钮进行Ajax操作更新页面局部,这些操作的结果都会被缓存下来。在你点击链接离开这个页面后,如果你通过后退按钮回到这个页面,你会发现它仍出于你离开时的状态,而非页面刚刚加载好后的初始状态。在一些情况下,这样的缓存方式是符合我们预期的;但在另...
[ 共9篇文章 ][ 第1页/共1页 ][ 1 ]
赞助商广告
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1