摘要:最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求。 我原以为在博客 用Asp.net写自己的服务框架 中做了那么多的演示应该把它们的使用方法说清楚了,然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实现同一个目标,我既用了HttpHandler,也有用HttpModule。现在看来,我当时设计的那些示例并不是讲清楚HttpHandler和HttpModule之间有什么差别,而是在演示如何利用HttpHandler和HttpModule设计
阅读全文
摘要:MVPMVP 是一种广泛使用的UI 架构模式,适用于基于事件驱动的应用框架,比如ASP.NETWeb Forms 和Windows Forms 应用。MVP 中的M 和V 分别对应于MVC 的Model 和View,而P(Presenter)则自然代替了MVC 中的Controller。但是MVP 并非仅仅体现在从Controller到Presenter 的转换,更多地体现在Model、View 和Presenter 之间的交互上。MVC 模式中元素之间“混乱”的交互主要体现在允许View 和Model 绕开Controller 进行单独“交流”,这在MVP 模式中得到了彻底解决。如图1-2
阅读全文
摘要:如果你以前觉得Amazon这家公司不太在用户体验上下功夫,这篇文章可能会改变你的看法。Amazon主页的左上角有一个商品分类浏览的下拉菜单。当鼠标从菜单中的选项上滑过时,子菜单的显示速度是超快的。我们可以看一下:这个显示速度基本是与鼠标移动同步的,但是绝大多数网站的下拉菜单在显示子菜单时会有一定的延迟,例如:这个延迟反应是必须的,因为如果没有,当你想把鼠标从一个主菜单选项挪到一个子菜单选项时,子菜单会消失。就像这样:但是Amazon的下拉菜单没有这个延迟,而且子菜单也不会在不应该的时候消失。它是怎样做到这一点的呢?答案是通过探测鼠标移动的方向和轨迹。想象在鼠标当前的位置和子菜单的左上角和左下角
阅读全文
摘要:/*** menu-aim is a jQuery plugin for dropdown menus that can differentiate* between a user trying hover over a dropdown item vs trying to navigate into* a submenu's contents.** menu-aim assumes that you have are using a menu with submenus that expand* to the menu's right. It will fire events
阅读全文