上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 下面是C#运算符和控制流的思维导图,全屏观看点击这里:C# 运算符和控制... 阅读全文
posted @ 2013-04-03 15:32 gyzhao 阅读(1007) 评论(5) 推荐(3) 编辑
摘要: C#作为一门托管语言,和C/C++这些本地语言不同;C/C++经过编译后直接变成处理器可执行的机器码,而C#编译器则会将C#转换为CIL(简称IL)代码,而不是机器码,我们知道C#是基于.NET Framework 框架的语言,CIL代码转换为可执行的代码... 阅读全文
posted @ 2013-04-03 09:31 gyzhao 阅读(2355) 评论(11) 推荐(6) 编辑
摘要: 在使用Web服务、.NET远程调用或给予Azure的程序时,最耗时的就是与远程服务器之间传输过程。如果只是简单的将本地API封装一下,就变成远程使用的API,这样做功能上不会有问题,但是效率低下。API的粒度越细所花费在等待数据返回的额外事件也就越... 阅读全文
posted @ 2013-03-31 20:05 gyzhao 阅读(467) 评论(2) 推荐(0) 编辑
摘要: 持久化(persistence)是类型的一个重要特性。只要我们的类型不是UI控件、窗体或者表单,都应该尽可能的为类型添加序列化支持。因为如果我们不为类添加序列化支持,而让类型的使用者来做这份工作几乎是不可能的。在.NET中支持序列化是一件非常简单的任务,在绝大多数的情况下... 阅读全文
posted @ 2013-02-28 21:22 gyzhao 阅读(493) 评论(0) 推荐(1) 编辑
摘要: 如果将引用类型通过公有借口暴露给外界,那么对象的使用者即可绕过我们定义的方法和属性来更改对象的内部结构。这违反了我们通常的直觉,也会导致常见的错误。考虑到这一点,你应该修改类暴露出的接口。如果只是简单的返回内部数据,那么实际上就给外界赋予了访问内部... 阅读全文
posted @ 2013-01-19 21:07 gyzhao 阅读(795) 评论(0) 推荐(0) 编辑
摘要: .NET中的事件其实就是一个观察者模式(Observer Pattern)的一个语法上的快捷实现(更多可以参考:使用委托和事件实现观察者模式)。事件是一种内建的委托,用来为事件处... 阅读全文
posted @ 2013-01-18 23:59 gyzhao 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 在C#语言中,回调是通过委托来实现的。委托为我们提供了安全的回调定义,大多数委托都和事件相关,但这不是委托的全部应用场景,当类之间需要通信,并且我们希望一种比接口更加松耦合的机制时,委托便是最佳选择。委托允许我们在运行时配置目标并且通知多个客户对象... 阅读全文
posted @ 2013-01-17 23:18 gyzhao 阅读(771) 评论(2) 推荐(0) 编辑
摘要: 实现和覆写虚方法的区别:接口中声明的成员默认不是虚方法。派生类不能覆写基类中实现的接口成员。接口可以被显式实现,这会使针对该类的公有成员隐藏起来。接口与虚... 阅读全文
posted @ 2013-01-16 21:25 gyzhao 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 接口是一种按照契约设计的方式,一个类型必须实行接口中定义的方法。抽象基类则为一组相关的类型提供了一个共有的抽象。要注意二者的使用场景和区别:基类描述了对象是什么;接口描述了对象将如何表现行为。使用抽象基类还是接口,代表了对日后可能发生的变化两种... 阅读全文
posted @ 2013-01-15 22:38 gyzhao 阅读(2742) 评论(9) 推荐(6) 编辑
摘要: 在保证类型可以完成其工作的前提下,我们应该尽可能的给类型分配最小的访问级别。可见性越低那么以后升级更改时所需的变化也就越少——因为能访问你的功能的代码越少,以后可能出现的修改也就会越少。创建内部类是一种常被忽略的限制类型作用域的方法,在创建一个类时... 阅读全文
posted @ 2013-01-14 20:33 gyzhao 阅读(773) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页