摘要: 我们可以将事件看做是类似于属性(property)的东西.首先都声明为具有一种特定的类型。对事件来说,必须是一个委托类型。使用属性时,感觉就像是直接对它的字段进行取值和赋值,但你实际上是在调用方法,也就是取值方法和赋值方法。实现属性时,可以在那些方法中做你喜欢做的任何事。但凑巧的是大多数属性都只是实现了简单的字段,有的会加一些校验机制。 同样,在订阅或取消订阅一个事件时,看起来就像是通过+=和-=操作符使用委托类型字段。但和属性的情况一样,这个过程实际是在调用方法(add和remove方法)。对于一个纯粹的事件,你所能做的事情就是订阅(添加一个事件处理程序)或者取消订阅(删除一个事件处理程序. 阅读全文
posted @ 2013-01-21 15:14 息晴海 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 委托(delegate)C语言中的描述:函数指针 实际上,委托在某种程度上提供了间接的方法。换言之。不需要直接指定一个行为,而是将这个行为用某种方式“包含”在一个对象中。这个对象可以像其他任何对象那样使用。在该对象中,可以执行封装的行为。可以选择将委托看做之定义了一个方法的接口,将委托的实例看做实现了那个接口的一个对象。 C#中的委托和现实世界中的遗嘱很像,是需要在恰当的时间执行一系列的操作。如果代码想要执行操作,但不知道操作细节,一般可以使用委托。(我们可以想象成这样,以为老人将遗嘱交付给他的律师,希望将他的财产按意愿分配给子女和慈善机构。这件事情在他过世后的某个时间段会被执行,但他不会知道 阅读全文
posted @ 2013-01-21 14:01 息晴海 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 隐式实现的话实现的方法属于实现的类的,可以通过类的对象访问。显示实现的话方法是属于接口的,可以看出是寄托在类中实现的,访问这些方法时要先把对象转换成接口对象,然后通过接口对象调用,比如Int32显式实现了IConvertible接口,调用IConvertible接口的ToString方法是必须先将Int32对象转换成IConvertible接口对象。 例如:Int32 x=5; Single s=((IConvertible)x).ToString(null); 一般来讲显示实现用的比较少,但是在实现具有相同名称和签名的两个接口方法时就必须用到了。 CLR允许定义接口类型的字段、参数或局部变量 阅读全文
posted @ 2013-01-17 14:00 息晴海 阅读(227) 评论(0) 推荐(0) 编辑
摘要: The remote server returned an error: NotFound.WCF笔记WCF最重要的就是能够快捷地创建一个服务(Service).一个WCF Service由三部分组成:1.Service Class:一个标记了[ServiceContract]Attribute的类,在其中可能包含了多个方法,除了标记一些WCF特有的Attribute外,这个类和一般类没什么区别。2.Host(宿主):可以是应用程序,也可以是ASP.NET程序,或是Window Service等,它是WCF Service运行环境。3.Endpoints:可以是一个也可以是一组,它是WCF实现 阅读全文
posted @ 2013-01-08 10:26 息晴海 阅读(865) 评论(0) 推荐(0) 编辑
摘要: WCF传输数据量的能力受到许多因素的制约,如果程序中出现因需要传输的数据量较大而导致调用WCF服务失败的问题,应注意以下配置:1、MaxReceivedMessageSize:获取或设置配置了此绑定的通道上可以接收的消息的最大大小。basicHttpBinding等预定义的绑定一般具有MaxReceivedMessageSize属性,CustomBinding则需要在Transport中定义。示例代码:<bindings> <customBinding> <binding name="customBinding"> <binaryM 阅读全文
posted @ 2013-01-08 10:21 息晴海 阅读(7198) 评论(2) 推荐(2) 编辑
摘要: 测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 每个具体测试用例都将包含下列详细信息:编制人、审定人、编制日期、版本、用例类型、设计说明书编号、用例编号、用例名称、输入说明、期望结果(含判断标准)、环境要求、备注等。 PS.输入说明(列出选用的输入项,覆盖正常、异常情况),期望结果(逐条与输入项对应,列出预期输出),环境要求(测试要求的软、硬件、网络要求)。 测试用例名称:可以是不涉及到具体模块的功能描述,如“日期格式”,“非空检验”等。 输入说明:功能模块结束的数据或各种. 阅读全文
posted @ 2013-01-07 11:47 息晴海 阅读(2727) 评论(0) 推荐(1) 编辑
摘要: MVC中,M 是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。(模型-视图-控制器) MVC是一个框架模式,它强制地使应用程序的输入、处理和输出分开。 视图:用户看到并与之交互的界面。 模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关。这样一个模型能为多个视图提供数据,由于应用于一个模型的代码只需写一次就可以被多个视图重用,所以. 阅读全文
posted @ 2012-12-27 15:08 息晴海 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域的本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。 领域模型是描述业务用例实现的对象模型,它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。 阅读全文
posted @ 2012-12-27 14:40 息晴海 阅读(403) 评论(0) 推荐(0) 编辑
摘要: IEnumerable<T>:公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。 两个接口的区别是:IEnumerable<T>泛型类在调用自己的Skip和Take等扩展方法之前数据就已经加载在本地内存了,而IQueryable<T>是将Skip,take这些方法表达式翻译成T-SQL语句之后再向SQL服务器发送命令,它并不是把所有的数据都加载在内存来才进行条件过滤。 阅读全文
posted @ 2012-12-26 13:16 息晴海 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 示例:class Father{void print(){};}class Son extends Father{void print(){System.out.println("子类中!");}void show(){System.out.println("show 中!");}}class Demo{public static void main(String args[]){Father obj=new Son();obj.print();obj.show(); //这个调用会报错!}}1 .如果你想实现多态,那么必须有三个条件,父类引用,子类对象 阅读全文
posted @ 2012-12-26 11:27 息晴海 阅读(132) 评论(0) 推荐(0) 编辑