摘要: 参数传递C#中有四种参数类型:值类型,Ref参数,Out参数,params参数。默认参数都是以传值方式传递,这意味着方法中的变量会在内存中被分配新的存储空间,并赋值。对于引用类型,这种传值意味着传递的是实例对象在栈中的地址。void Foo (StringBuilder x){ x = nul... 阅读全文
posted @ 2014-11-12 10:54 laughter 阅读(253) 评论(0) 推荐(0) 编辑
摘要: VMware、VMware Player、VirtualBox、Windows Virtual PC等虚拟机软件都提供了桥接(bridged)、网络地址转换(network address translation,NAT)和内部网络(host-only,虚拟机不能连通外部网络)这三种网络选项来配置虚... 阅读全文
posted @ 2014-08-06 08:52 laughter 阅读(2390) 评论(0) 推荐(0) 编辑
摘要: Restful是基于网络的软件系统架构风格。其优先考虑分布性和扩展性,而不是安全、错误处理、对象映射。所以Restful架构特别适用的场合为用户快速增长的互联网和移动互联网领域,看起来很容易理解,以资源,资源的表示,资源的状态转移为核心概念。不过实际在实现Restful服务的时候,仍然有一些应用陷阱... 阅读全文
posted @ 2014-07-24 10:46 laughter 阅读(435) 评论(0) 推荐(0) 编辑
摘要: WCF中的Contracts WCF通过Contract来说明服务和操作,一般包含五种类型的Contract:ServiceContract,OperationContract,FaultContract,DataContract,MessageContract。 1.ServiceContract ServiceContract向外部暴漏了可以提供的服务接口,它可以包含服务名称、命名空间等服务... 阅读全文
posted @ 2014-04-20 20:53 laughter 阅读(512) 评论(0) 推荐(0) 编辑
摘要: OData可以通过形如http://localhost/Products?$orderby=Name这样的QueryString传递查询条件、排序等。你可以在任何Web API Controller中启用OData查询条件,并且不需要让Controller设置为OData的终结点(EndPoint)... 阅读全文
posted @ 2014-04-16 20:44 laughter 阅读(2576) 评论(0) 推荐(1) 编辑
摘要: 原文: Behavior-Driven Development with NBehave 这里模拟了一个“银行账户”的类 一个余额属性,一个存款方法,一个撤销账户的方法,一个转账的方法。 [csharp] view plaincopy public sealed class Account { private int balance; public int Balance { get {... 阅读全文
posted @ 2014-04-15 13:18 laughter 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 一、可持续集成管理 持续集成,CI:即Continuous integration。 可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团队开发效率与降低集成风险(早发现,早解决。晚发现,解决更麻烦),各种可持续集成的管理平台应运而生,这里介绍其中一种小而实用的平台管理工具——TeamC... 阅读全文
posted @ 2014-04-15 13:01 laughter 阅读(514) 评论(0) 推荐(0) 编辑
摘要: SpecFlow是一个BDD工具,在这里对BDD不多赘述,你可以阅读一下微软2010年十二月的一篇文章,此外如果你想要更多了解SpecFlow,可以参考我的另一篇翻译(当然,也可以直接进入官网) 一、不直接通过网页的测试。 什么叫不直接通过网页的测试? 我们知道,一般对页面测试,通常对各种按钮点击是少不了的,就像这个一样: 你至少要点一个Register吧。 那么我们暂时就不要这样做(项目太大的... 阅读全文
posted @ 2014-04-15 12:13 laughter 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 由于一直没有完全搞明白Mock和Stub的区别,所以查了很多文章,而这一篇是做好的: http://yuan.iteye.com/blog/470418 尤其是8楼,Frostred的发言,描述地相当清楚具体,转帖到此,以作日后的参考: 很高兴前面的一点文字能对你有所帮助。事实上,写东西时候,也是对自己的思想整理和精炼的过程,所以可以说是互相帮助吧。你要是有什么疑问或不同意见,可以指出来,我们可以... 阅读全文
posted @ 2014-04-15 09:22 laughter 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 本章介绍通过使用Ali Kheyrollahi开发的CacheCow来实现服务器端的缓存。所有代码现在都可以在GitHub上下载。 我们将要实现的缓存方式叫做Conditional Requests,实现方式其实很简单。客户端通过在请求Header中包含ETag信息,实现和服务器的交互,确认当前客户端包含的部分数据是否已经被修改,有则拉取,没有服务器端就返回304(Not Modified)和空的... 阅读全文
posted @ 2014-04-14 22:34 laughter 阅读(643) 评论(0) 推荐(0) 编辑