结合这个系列博文,加上我前面的对依赖属性模拟的博文,如果大家仔细看过,应该收获很大,可以讲Silverlight的页面交互机制应该是非常的清楚了,而这篇博文的Action实现,其实就是一个简易的交互框架。Silverlight本身提供的Triggers,Behaviors也是这个原理,当然,他们做得更细更好些。理解了这种交互机制,其实我们可以很轻松的增加一些巧妙功能来加快silverlight页面开发。比如,我们多采用MVVM,我们就可以直接执行VM中的公
系统 2019-08-29 23:28:33 2491
SQLServer2008中SQL应用系列--目录索引当一个用户会话(会话1)已经锁定了一个资源,而另一个会话(会话2)想要修改该资源,并且会话2也锁定了会话1想要修改的资源时,就会出现“死锁”(deadlocking)。在另一方释放资源前,会话1和会话2都不可能继续。所以,SQLServer会选择死锁中的一个会话作为“死锁牺牲品”。注意:死锁牺牲品的会话会被杀死,事务会被回滚。注意:死锁与正常的阻塞是两个经常被混淆的概念。发生死锁的一些原因:1、应用程序
系统 2019-08-29 23:01:16 2491
三个表:score:course:stu:查询每科成绩最高的学生:select*from(selectst.sname,sc.grade,c.cnamefromscorescleftjoinstustonsc.sno=st.snoleftjoincourseconc.cno=sc.cnoorderbysc.gradedesc)fgroupbyf.cname思路:首先三表连接查询,降序,再以科目分组,即可查得每门中的最高分,及所属学生。查询每门课分数最高的学
系统 2019-08-29 22:48:44 2491
桥接模式(Bridge)将抽象部分与实现部分分离,使它们都可以独立的变化。在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。效果及实现要点:(1)Bridge模式使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。(2)Bridge模式的应用一
系统 2019-08-29 22:43:35 2491
★基于“比较”操作的内部排序性能大PK我们首先总结一下《排序结构专题1-4》中的十种方法的性能((N个关键字的待排序列)):排序方法平均时间最坏时间辅助存储空间稳定性直接插入排序O(N^2)O(N^2)O(1)√折半插入排序O(N^2)O(N^2)O(1)√希尔排序O(N*logN)O(N*logN)O(1)×起泡排序O(N^2)O(N^2)O(1)√快速排序O(N*logN)O(N^2)O(logN)×简单选择排序O(N^2)O(N^2)O(1)√树形选
系统 2019-08-29 21:59:42 2491
这是Struts2官方站点提供的Struts2的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤:客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action”就是提起一个(HttpServletRequest)请求。请求被提交到一系列(主要是三层)的过滤器(Filter),如(ActionContextCleanUp、其他过滤器(Sit
系统 2019-08-12 09:29:56 2491
在你要写navigationbar的m文件前面放一段这个:@interfaceUINavigationBar(MyCustomNavBar)@end@implementationUINavigationBar(MyCustomNavBar)-(void)drawRect:(CGRect)rect{UIImage*barImage=[UIImageimageNamed:@"xxxxx.png"];[barImagedrawInRect:rect];}@end
系统 2019-08-12 09:29:44 2491
转载至:http://biosengineer.blogspot.com/2007/07/source-insight-vs-slickedit-2007.html============================ProgramEditorandAnalyzer============================最近為了撰寫程式碼上的方便,分別去試用了兩套軟體,這兩套軟體都是用來撰寫程式碼與分析程式碼的編輯器,下面就大致上來說一下使用心得。Sou
系统 2019-08-12 09:26:56 2491
在C++编程中应该尽量使用const和inline来代替#define,尽量做到能不用#define就不用。#define常见的用途有"定义常量"以及"定义宏",但其中存在诸多的弊病。第一,查错不直观,不利于调试。Define的定义是由预处理程序处理的,作的是完全的文本替换,不做任何的类型检查。在编译器处理阶段,define定义的东西已经被完全替换了,这样在debug的时候就看不到任何的相关信息,即跟踪时不能stepinto宏。例如,把ASPECT_RAT
系统 2019-08-12 01:55:21 2491
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/efficient-downloads/connectivity_patterns.html不同连接类型对于电池寿命的影响是不一样的。首先使用Wi-Fi会比使用无线网络(比如GPRS)消耗的电量小的多。而且不同的通信技术对
系统 2019-08-12 01:54:48 2491