Fighting Ant

Ant can be great while elephant can be chickenshit

导航

2010年6月3日

摘要: 最近做了一些WCF的项目,在客户端利用ChannelFactory创建一个Channel时会希望这个ServiceChannel在整个客户端中是唯一的。于是乎用了以下的代码,并一度为自己的聪明才智而欢欣鼓舞代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/... 阅读全文

posted @ 2010-06-03 18:22 Nillson 阅读(250) 评论(1) 推荐(0) 编辑

2008年8月29日

摘要: 名词理解: 工厂(Factory)模式我们可以做如下理解,假设有一个Audi的公司生产汽车(似乎也不用假设了),它掌握一项核心的技术就是生产汽车,另一方面,它生产的汽车是有不同型号的,并且在不同的生产线上进行组装。当客户通过销售部门进行预定后,Audi公司将在指定的生产线上为客户生产出它所需要的汽车。 策略(Strategy)模式在结构上与工厂模式类似,唯一的区别是工厂模式实例化一个产品的操作是在... 阅读全文

posted @ 2008-08-29 10:19 Nillson 阅读(2082) 评论(4) 推荐(4) 编辑

2008年8月14日

摘要: 抽象类与接口的功能有很类似的地方,接口可以认为是一种更加"抽象"的抽象类.他们都可以认为是提供一个可被继承并重写的方法的集合,但是在C# 中他们的用法有几点差别. 抽象类是类,而接口是接口! 这句貌似是废话的话其实应该可以说明他们之间区别的根本原因了.抽象类说到底是类,只不过它包含了抽象方法,它具有一个实例类所具有的一切特征.而接口是高度抽象的类,他跟一个实例类是有很大的不同. 1.抽象类支持实例... 阅读全文

posted @ 2008-08-14 16:17 Nillson 阅读(358) 评论(0) 推荐(0) 编辑

2008年7月18日

摘要: 昨天用C#写了一个二叉树的类,包括如何构造二叉树的根节点,向二叉树中插入一个节点顺便实现了一下二叉树的四种遍历方法:前序,中序,后序,逐层。前三种方法用了递归的方式,后一种方法用了一个链表来解决中间数据的存储问题。感觉这个东东确实包含了不少值得回味的东西。using System; using System.Collections.Generic; using System.Linq; using... 阅读全文

posted @ 2008-07-18 10:43 Nillson 阅读(7071) 评论(1) 推荐(3) 编辑

2008年7月11日

摘要: 关于算法面试了两个题目:第一个是判断两个平面内的矩形是否可能发生碰撞;第二个是要写出逐层遍历二叉树的算法。个人感觉都不是很难,下面给出我的思路和解法。 设计一个数据结构来表示矩形,并用该结构作为参数来实现判断两个巨型是否发生碰撞的函数。 struct Rectangle { public Point leftUp; public Point rightDow... 阅读全文

posted @ 2008-07-11 15:37 Nillson 阅读(384) 评论(0) 推荐(0) 编辑

2008年7月8日

摘要: 代理类似于C++中的函数指针,其作用都是为了完成对某一个函数细节的调用,但是函数指针破坏了类的封装性原则,而代理则是类型安全的,也维护了类的封装性。 代理的对象可以是一个命名过的方法或者是匿名的方法,但是在代理的过程中,方法的参数和返回值一定要和代理的参数和返回值相符合。假如我们声明这样的一个代理 public delegate void VoidDelegate(string str); 那么意... 阅读全文

posted @ 2008-07-08 21:54 Nillson 阅读(248) 评论(0) 推荐(0) 编辑

摘要: 插入排序 插入排序的思想是当我要插入第n个元素时,认为前n-1个元素已经是有序的。把第n个元素与前面的元素一次对比,找到合适的位置。然后是第n+1个元素. void main(){ int a[6] = {1,5,3,6,8,2}; int temp; for(int i = 1; i 0; j--)//取待插入的元素依次与前面的元素进行比较如果小于前面的值则进行交换 ... 阅读全文

posted @ 2008-07-08 10:43 Nillson 阅读(250) 评论(0) 推荐(0) 编辑

2008年7月4日

摘要: 上学的时候就没搞清楚这两个东东的关系,原本以为是多么难得事情,今天仔细瞧瞧就那么回事。(浮躁的大学哦.....) 宏定义: 其作用就是“换其名曰”,给程序中的一段特殊的代码--函数,数据取了个简单明了的名字。不过有一点这家伙的作用范围是全局的。即使它是在某一个函数块中定义的。这个其实也容易理解。因为宏定义是预定义的一种,在我们的程序之前,由预编译器(Cpp)提前编译出来了,那个时候程序里的结构是个... 阅读全文

posted @ 2008-07-04 11:03 Nillson 阅读(3416) 评论(1) 推荐(0) 编辑

2008年7月3日

摘要: 连接符号这个东西比较简单根据不同的数据库有不同的符号SQL server 采用的是"+".它的作用是可以将不同的列的信息合并成一列作为查询结果输出出来。例如下面的语句: create table regtest(TName nchar(30),TSalary int)insert into regtest values('nillson', 100000)select * from regtes... 阅读全文

posted @ 2008-07-03 15:55 Nillson 阅读(434) 评论(0) 推荐(0) 编辑

2008年7月2日

摘要: select col1, col2 from dbName.tbName where colName=value 上面这个是再简单不过的查询了,如果不加上别的猫腻儿,数据库的查询实在是太简单了,但是事实不会如此,因为问题本就不那么简单,所以查询语句也就复杂了。 几个关键字: Null 排序 比较运算符 逻辑运算符 IN运算符 Like模糊查询 Null: Null是一个特殊的值, Null与... 阅读全文

posted @ 2008-07-02 17:32 Nillson 阅读(393) 评论(0) 推荐(0) 编辑