Fork me on GitHub

2012年5月11日

摘要: WCF的野心造成了它的庞大复杂,HTTP的单纯造就了它的简单优美。为了实现分布式Web应用,我们不得不将两者凑合在一起 —— WCF服务以HTTP绑定宿主于IIS。于是有了让人晕头转向的配置、让人郁闷不已的调试,还有那ServiceContract, DataContract,EnumMember...还有还有,不要在using语句中调用WCF服务...于是经常自问:拿着牛刀削苹果有必要吗?废话,当然没有必要,水果刀在哪里?微软看着这么多人拿着牛刀削苹果,自己也看不下去了,于是,一种水果刀横空出世 ——ASP.NET Web API。最近我们在实际开发中有个地方用WCF太麻烦,就小试了一下水果 阅读全文
posted @ 2012-05-11 15:37 HackerVirus 阅读(286) 评论(0) 推荐(0)
摘要: 不论是用于描述Controller的ControllerDescriptor,还是用于描述Action方法的ActionDescriptor,都具有同步和异步两个版本,那么这些不同类型的ControllerDescriptor的ActionDescriptor是在什么情况下创建的呢?一、ControllerActionInvoker与AsyncControllerActionInvokerControllerDescriptor的创建设计到一个重要的名为ActionInvoker的组件,顾名思义,ActionInvoker专门用于Action方法的执行。我们会在本书第7章“Action方法的执 阅读全文
posted @ 2012-05-11 15:36 HackerVirus 阅读(365) 评论(0) 推荐(0)
摘要: 接上一篇,让我们来继续讨论二叉查找树的基本操作,需要注意的一点是,上篇中的遍历操作是针对任意一棵二叉树都可以的,凡是没提及需要二叉查找树性质的地方,应该都是满足二叉树的操作。上篇主要讨论了二叉树的遍历操作,这篇,我们来讨论二叉查找树的查找、求最大最小值以及求前驱和后继等操作。查找 二叉查找树的查找操作可以在O(h)时间内完成,其中h为树的高度。查找的算法很简单,根据二叉查找树的性质,我们先将要比较的元素跟根元素相比较,如果相等则返回,如果大于根结点的key,则继续在右子树中查找,如果小于根结点的key值,则在左子树中查找。这也跟插入过程类似,童鞋们可以想象一下,我就不画图了,画图很麻烦。 .. 阅读全文
posted @ 2012-05-11 15:35 HackerVirus 阅读(244) 评论(0) 推荐(0)
摘要: Eclipse 4简介Eclipse SDK 4.x基于E4孵化器项目,是新一代构建基于Eclipse的工具和富客户端桌面应用的平台。它使得开发和组装基于Eclipse平台的应用和工具要更加容易。第一个版本(4.0)发布于2010年7月28日,4.1发布于2011年6月22日,2012年将发布Eclipse 4.2。Eclipse 3.8将和4.2同时发布,同时3.x也将停止更新。Eclipse 4包含:基于模型的用户界面和用于程序样式的基于CSS的声明机制。这使得设计和自定义应用程序界面变得更加容易,也给UI布局带来更大的灵活性,可以使UI看起来与IDE完全不同。新的面向服务的编程模型,可以 阅读全文
posted @ 2012-05-11 15:34 HackerVirus 阅读(487) 评论(0) 推荐(0)
摘要: 查看本人文章索引请通过http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html在工厂方法里讲到了加减乘除的例子,请查阅http://www.cnblogs.com/seesea125/archive/2012/05/02/2478981.html一、抽象工厂的定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。二、实现思路实现思路:如果说简单工厂与工厂方法是对同一个问题的两种不同的解决方法的话,抽象工厂就是解决一系列这种问题的方法。因为其主要的作用就是生产一系列相互依赖的对象,而不用去关心它们具体的实现 阅读全文
posted @ 2012-05-11 15:33 HackerVirus 阅读(203) 评论(0) 推荐(0)
摘要: 很多人都说.net排序的效率高,抱着学习的态度观摩.net源代码。当数据类型为基本类型并且未指定排序规则时用的是本地代码(TrySZSort),否则使用快速排序的泛型实现。QuickSort经测试TrySZSort的运行时间为快速排序泛型实现的1/2左右,据推测TrySZSort与QuickSort采用的是同样的算法,不过TrySZSort的实现是本地代码的指针模式。快速排序是我所知道的通用排序方法当中实际平均运行效率最高的,平均时间复杂度为O(n*log(n)),当然最坏情况可能是O(n^2),但是这种概率也是指数级的。很多人实现的快速排序都有一个致命缺陷,那就是没有控制递归深度,等于给自己 阅读全文
posted @ 2012-05-11 15:33 HackerVirus 阅读(290) 评论(0) 推荐(0)

2012年5月10日

摘要: 我们知道二叉查找树是一种数据结构,它支持多种动态集合的操作,包括:查询,最大值,最小值,前驱,后继,插入和删除等操作。那么我们在前一篇已经创建了二叉查找树,那么我们来实现二叉查找树的各种操作吧。(*^__^*) (以下纯属个人理解,个人原创,理解不当的地方,请指正,谢谢) 我们来看二叉树的遍历操作,所谓遍历,顾名思义,就是能够依次的访问二叉查找树中的各个结点。在数据结构课堂上,我们知道,遍历方式有深度优先和广度优先遍历,深度优先又包括前序、中序和后序遍历;广度优先遍历,在二叉树的范畴中,就是层序遍历,就是先遍历某一层的结点,然后再遍历下一层的结点。好了,一个个的来介绍吧。前序遍历 前序遍历.. 阅读全文
posted @ 2012-05-10 20:32 HackerVirus 阅读(203) 评论(0) 推荐(0)
摘要: .NET framework使我们不需要刻意关心内存管理和垃圾回收(GC),但是当我们需要优化应用的性能的时,我们就需要对他们有所了解。理解内存解能帮助我们知道我们所写编码中变量的行为,在这篇文章中我将描述 堆和栈的基本知识, 变量和变量的工作原理。当执行程序时.NET framework有俩个地方来存放数据,他们就是堆 (Heap)和栈 (Stack),他们位于我们机器的内存里保存我们程序运行过程中的数据。堆 (Heap) Vs 栈(Stack)不同之处?栈(Stack)负责记录线程的运行运行到哪里(或者什么正在被调用)堆(Heap)负责保存对象,数据...我们可以把栈(Stack)想象为从 阅读全文
posted @ 2012-05-10 20:32 HackerVirus 阅读(222) 评论(0) 推荐(0)
摘要: 1.引用對象2.在app.config中進行配置<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" /> & 阅读全文
posted @ 2012-05-10 20:31 HackerVirus 阅读(283) 评论(0) 推荐(0)
摘要: 群里的题目:void function() {//abcd do break;while(typeof delete this);for(var a;;)if (true) with(null)try{}catch(a){}finally{} else throw new 1;switch(1 in 1 instanceof 1) {case false:default:}return;};谢谢@闹闹爷的提醒,搞了个改进版new function() {do break;while(typeof delete this);for(var a;void 0;)continueif (null)w 阅读全文
posted @ 2012-05-10 20:30 HackerVirus 阅读(227) 评论(0) 推荐(0)