- 博客(10)
- 资源 (2)
- 收藏
- 关注
转载 Attribute在.net编程中的应用(六)
(承上节) .NET Framework拦截机制的设计中,在客户端和对象之间,存在着多种消息接收器,这些消息接收器组成一个链表,客户端的调用对象的过程以及调用返回实行拦截,你可以定制自己的消息接收器,把它们插入了到链表中,来完成你对一个调用的前处理和后处理。那么调用拦截是如何构架或者说如何实现的呢? 在.NET中有两种调用,一种是跨应用域(App Domain),一种是跨上下文环境(Cont
2012-01-18 22:11:00 214
转载 Attribute在.net编程中的应用(五)
Attribute在拦截机制上的应用 从这一节开始我们讨论Attribute的高级应用,为此我准备了一个实际的例子:我们有一个订单处理系统,当一份订单提交的时候,系统检查库存,如果库存存量满足订单的数量,系统记录订单处理记录,然后更新库存,如果库存存量低于订单的数量,系统做相应的记录,同时向库存管理员发送邮件。为了方便演示,我们对例子进行了简化: //Inventory.cs using
2012-01-18 22:10:21 192
转载 Attribute在.net编程中的应用(四)
SqlCommandGenerator类的设计 SqlCommandGEnerator类的设计思路就是通过反射得到方法的参数,使用被SqlCommandParameterAttribute标记的参数来装配一个Command实例。 引用的命名空间: //SqlCommandGenerator.cs using System; using System.Reflection; using
2012-01-18 22:09:46 184
转载 Attribute在.net编程中的应用(三)
用于参数的Attribute 在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_SQL代码,这些代码往往需要传递各种参数,有的参数个数比较多,一不小心还容易写错。有没有一种一劳永逸的方法?当然,你可以使用MS的Data Access Application Block,也可以使用自己编写的Block。这里向你提供一
2012-01-18 22:09:07 190
转载 Attribute在.net编程中的应用(二)
.NET Framework中对Attribute的支持是一个全新的功能,这种支持来自它的Attribute类。在你的程序中适当地使用这个类,或者是灵活巧妙地利用这个类,将使你的程序获得某种在以往编程中很难做到的能力。我们来看一个例子: 假如你是一个项目开发小组中的成员,你想要跟踪项目代码检查的信息,通常你可以把代码的检查信息保存在数据库中以便查询;或者把信息写到代码的注释里面,这样可以阅读代码的
2012-01-18 22:07:44 203
转载 Attribute在.net编程中的应用(一)
Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。 在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有proper
2012-01-18 22:07:17 172
原创 C#动静结合编程之三:Duck Typing [转]
中庸 C#是静态类型语言,要使用类型必须引用该类型的定义。因此,从软件组织角度会发生组件间的引用依赖关系。常见的引用依赖关系有两种模式: a. 正向依赖:组件A用到了组件B中定义的类T,组件A直接引用组件B,依赖关系是“组件A -> 组件B”。 b. 反向依赖:组件A通过接口I定义功能规范,针对抽象编程;组件B反过来引用组件A,并定义类T实现接口I;由另一组件C将I与T粘合起来,
2010-01-18 12:41:00 307
转载 C#动静结合编程之二: 两种哲学 [转]
在本系列的上一篇中,谈到了接口和委托语法约束强度的比较,我的结论是接口的语法约束要强于委托。这个话题得到了不少朋友的关注和讨论。对此,我在综合反馈,查阅资料,加上自己的理解的基础上对接口和委托的关系进行一个小小的总结,并借此推动本篇的介绍。 一方面,从OO角度看,接口和委托是实现多态性的两种手段;另一方面,从软件设计角度看,接口和委托是将规范与实现分开从而面向抽象编程的两种手段。因此,就存在的
2010-01-18 12:40:00 278
转载 C#动静结合编程之一: 接口和委托的约束强度 [转]
程序世界有两种神秘的元素,它们无处不在,却常常未被察觉。它们一动一静,却又和谐相处。我给这对兄弟取上不太恰当的名字,一个叫“协议”,一个叫“约束”。我们常常看到的动态语言、静态语言背后,本质上就是“协议”与“约束”两种元素的作用。 C#是一门优美的语言,它融合了静态和动态的优势,如果运用得当,必能动静结合,呈现出一种和谐之美。特别是.NET平台和语言的快速发展,更展现了动静结合编程的活力。本
2010-01-18 11:14:00 365
转载 .NET Action Func Lambda 收藏 [转]
最近没什么事情,就下载了一下开源项目来研究,在查看Dropthings这个项目的源代码时候,有些语法我搞不懂,可能是C#语法的一些新特征。于是在发现一边文章http://space.itpub.net/batch.viewlink.php?itemid=586521对这些东西描述的比较详尽,于是就转贴下来了。 使用Action、Func和Lambda表达式在.NET在,我们经常
2010-01-18 11:12:00 1037
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人