代码改变世界

随笔分类 -  [06]JS编程

一“.NET研究”句代码实现批量数据绑定[下篇]

2011-10-19 19:39 by 狼人:-), 194 阅读, 收藏, 编辑
摘要: 《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的属性值绑定到界面对应的控件上的。此外,需要特别说明一点:《上篇》中提供了DataBinder最初版本的下载,但已经和本篇文章介绍的已经大不一样了。 最新版本的主要解决两个主要问题:通过Expression Tree的方式进行属性操作(属性赋值和取值),添加了“数据捕捉”(Data Capture)的功能,以实现将控件中的值赋给指定的实体。但是,这并不意味着这就是一个最终版本,这里面依然有一些... 阅读全文

在ASP.NET MVC3中使用“.NET研究”EFCodeFirst 1.0

2011-10-19 19:39 by 狼人:-), 237 阅读, 收藏, 编辑
摘要: 1. 新建项目 打开VS2010,选择 文件>新建>项目,新建ASP.NET MVC3 Web 应用程序,我这里把它命名为Blog。 2. 编写实体类 对于一个博客,一下几个类应该是必须的吧: Post 博客文章类 Comment 文章评论类,和Post是一对多的关系 Category 目录类,和Post是一对多的关系 Tag 标签类,和Post是多对多的关系 FriendLink 友情链接类 先不考虑管理员之类的东西。 在Model中依次添加上面的类。 namespace Blog.Models{ public class Post {... 阅读全文

一句代码实现批量数“.NET研究”据绑定[上篇]

2011-10-19 19:39 by 狼人:-), 237 阅读, 收藏, 编辑
摘要: 对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定。如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定。为了验证这种想法,我写了一个小小的组件。这个小玩意仅仅是我花了两个小时写的,其中还有很多问题没有解决,比如对于空值的处理,特殊控件属性值的HTML编码问题,以及频繁反射的性能问题,仅仅演示一种解决思路而已。本篇着重介绍如何通过这个组件来解决我们在进行数据绑定过程中的常见问题,下篇会介绍它的设计。[源代码从这里下载] 目录: 一、基于控件ID/实体属性名映射的数据绑定 二、一句代码实现批量数据绑定 三、修正绑定... 阅读全文

使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例

2011-10-19 19:39 by 狼人:-), 260 阅读, 收藏, 编辑
摘要: 前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。 在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。 <service name = " " > < endpoint address = "" binding = " wsHttpBinding " cont 阅读全文

Silverlight 2.5“.NET研究”D RPG游戏技巧与特效处理:(九)粒子系统

2011-10-19 19:39 by 狼人:-), 159 阅读, 收藏, 编辑
摘要: 粒子系统通常用于三维场景中进行真实环境模拟,比如第四节的天气系统。天气的实现是粒子系统最重要的应用领域之一,所有的一切无论是云、雨、雾,还是落叶、陨石及闪电,都可视作基础粒子;除此之外,游戏中常常还会用到粒子系统来渲染像发光、轨迹等抽象效果。当然,有时简单并不意味着就不能缔造奇迹,比如本节大家将要看到的就是基于简单粒子系统所创建的当下主流2.5D RPG中极其拉风之装备粒子发散动画特效。 一提到Silverlight中的粒子,首先想到的肯定是WriteableBitmap。没错,今天的主角就是它,让人又爱又恨的WriteableBitmap。爱,因为它可以对Silverlight中任... 阅读全文

使用WC“.NET研究”F实现SOA面向服务编程——使用AJAX+WCF服务页面开发

2011-10-19 19:39 by 狼人:-), 216 阅读, 收藏, 编辑
摘要: 在上一篇讲到,如果将BLL层的每一个类都转化为*.svc,这是一个不实在的想法。它会使服务变化复杂,难于管理。 这时候,我们第一时间想到的是23个简单开发模式中的Factory,在这里,Factory正好派上用场。我们把这个Factory称之为管道(pipeline) ,通过这个管道客户端可以随意调用服务器BLL层里面的类。 (关于管道的概念,建议参考Cory Isaacson的杰作《多核应用架构关键技术—软件管道与soa》) 当你使用B/S方式开发UI层时,只要了解此开发模式,使用Ajax加上WCF里面的WebHttpBinding绑定和WebHttpBehavior行为,... 阅读全文

C# 中奇妙的函数之ToL“.NET研究”ookup

2011-10-19 19:39 by 狼人:-), 258 阅读, 收藏, 编辑
摘要: 我将和大家一起来学学C#中上海闵行企业网站设计与制作一些非常有用函数,对于有些人来说可能它们不起眼,因此常常忽略它们。它们不会嚷嚷到:使用我吧!我会让你节省很多的时间,而且让你的代码变得更加的简洁! -- 但是,这些话会从对它们熟悉的程序员的脑海中涌现出来。 好的!先来看看ToLookup: 故事的背景 让我们先来创建一个简单的类来表示产品,产品有ID,类别,和价格,这个类没有什么特别: public sealed class Product { public int Id { get; set; } public strin... 阅读全文

一句代码实现“.NET研究”批量数据绑定[上篇]

2011-10-19 19:39 by 狼人:-), 187 阅读, 收藏, 编辑
摘要: 对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定。如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定。为了验证这种想法,我写了一个小小的组件。这个小玩意仅仅是我花了两个小时写的,其中还有很多问题没有解决,比如对于空值的处理,特殊控件属性值的HTML编码问题,以及频繁反射的性能问题,仅仅演示一种解决思路而已。本篇着重介绍如何通过这个组件来解决我们在进行数据绑定过程中的常见问题,下篇会介绍它的设计。[源代码从这里下载] 目录: 一、基于控件ID/实体属性名映射的数据绑定 二、一句代码实现批量数... 阅读全文

基于SQL Server 2008 Service B“.NET研究”roker构建企业级消息系统

2011-10-19 19:39 by 狼人:-), 160 阅读, 收藏, 编辑
摘要: 1、引言 Microsoft 在SQL Server 2005引入了服务代理 (Service Broker 简称SSB) 为技术支持代理设计模式和面向消息的中间件 (MOM) 的原则。Service Broker在SQL Server 2008上得到完善, SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持。 这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序。开发人员可以使用 Service Broker 轻松生成可靠的分布式应用程序。使用 Service Broker 的... 阅读全文

晚绑定场景下对象属性赋值和取值可以不需要Pro“.NET研究”pertyInfo

2011-10-19 19:39 by 狼人:-), 186 阅读, 收藏, 编辑
摘要: 在《一句代码实现批量数据绑定》中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定。由于里面频繁涉及对属性的反射——通过反射从实体对象中获取某个属性值;通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式。为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作。如果你看了我在文中给出的三种属性操作性能的测试结果,相信会对PropertyAccessor的作用有深刻的印象。[源代码从这里下载] 目录: 一、PropertyAccessor与PropertyAccessor<T>的API定义 ... 阅读全文

一句代码实现批量“.NET研究”数据绑定[下篇]

2011-10-19 19:39 by 狼人:-), 172 阅读, 收藏, 编辑
摘要: 《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的属性值绑定到界面对应的控件上的。此外,需要特别说明一点:《上篇》中提供了DataBinder最初版本的下载,但已经和本篇文章介绍的已经大不一样了。最新版本的主要解决两个主要问题:通过Expression Tree的方式进行属性操作(属性赋值和取值),添加了“数据捕捉”(Data Capture)的功能,以实现将控件中的值赋给指定的实体。但是,这并不意味着这就是一个最终版本,这里面依然有一些问题,.. 阅读全文

三种属性操作性能比较:PropertyInfo + Expression Tree + Del“.NET研究”egate.CreateDelegate

2011-10-19 19:39 by 狼人:-), 248 阅读, 收藏, 编辑
摘要: 在《上篇》中,我比较了三种属性操作的性能:直接操作,单纯通过PropertyInfo反射和IL Emit。本篇继续讨论这个话题,我们再引入另外两种额外的属性操作方式:Expression Tree(这和IL Emit基本一致)和通过Delegate的静态方法CreateDelegate创建相应的委托进行属性的赋值和取值。[源代码从这里下载] 目录 一、定义测试相关的接口、类型和委托 二、通过Expression Tree的方式创建用于属性操作的委托 三、编写属性赋值操作测试方法 四、编写属性取值操作测试方法 五、执行测试程序,查看... 阅读全文

关于Expression Tree和IL Emit的所谓的&quot;性能差别&quot“.NET研究”;

2011-10-19 19:39 by 狼人:-), 214 阅读, 收藏, 编辑
摘要: 昨天写了《三种属性操作性能比较》,有个网友写信问我一个问题:从性能上看,Expression Tree和IL Emit孰优孰劣?虽然我在回信中作了简单的回答,但不知道这个网友是否懂我的意思。反正今天呆在家里也没事儿,干脆再就这个话题再写一篇文章。 目录: 一、Expression Tree和IL Emit并不存在所谓的性能差异 二、属性赋值操作的两种写法 三、属性取值操作的两种写法 四、两种写法对应的IL 一、Expression Tree和IL Emit并不存在所谓的性能差异 Expression Tree和IL Emit的性能孰... 阅读全文

Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(七)动画特写

2011-10-19 19:39 by 狼人:-), 163 阅读, 收藏, 编辑
摘要: Silverlight中的HLSL不仅适用于场景与动画渲染,对于游戏中的角色,我们同样可以利用它制作动画特写。较常见的比如角色传送时的淡入淡出、扭曲变形、幻化呈现等切换动画,当然还有例如角色被DeBuff时所表现出来的放大缩小以及虚弱时的不规则体形等。适当的场合为角色增加动画特写使得游戏更显精致而华丽,当玩家身心愉快的融入其中而流连忘返时,或许正是这些魔幻般的特效在背后默默的飘散着令人迷醉的芳香。 还记得Shazzam吗?要制作特写依旧离不开这款强大的工具,以角色的传送特写“幻降”为例,对应Shazzam中的现成特效名为:DirectionalBlur,我们不妨看看它的HLSL代码: ... 阅读全文

Silverlight“.NET研究” 的多线程能力(下)

2011-10-19 19:39 by 狼人:-), 179 阅读, 收藏, 编辑
摘要: 上一期笔者介绍了Silverlight实现多线程的诸多解决方案,本期笔者将通过一个实例来实现所有多线程编程方法,并且还将于JavaScript和Flash两种Web客户端技术性能进行比较,请勿拍砖。 在正式编程前,笔者还要重申上期非常重要的观点:Silverlight多线程主要作用不是在于提高性能,而是在于用户体验。这里要给多线程泼一盆冷水了,多线程与性能提升不是正比关系,如果你使用一个单核CPU的客户端设备,那么即便你创建100个多线程也与单线程的计算性能是一样的,因为一个CPU时间片下只能处理一个线程,多线程也必须串行处理,甚至还可能因为过多的CPU调度开销而导致性能不及单线程的情... 阅读全文

由扩展方法引“.NET研究”申出的编程思维

2011-10-19 19:39 by 狼人:-), 228 阅读, 收藏, 编辑
摘要: 1. Helper大爆炸上海闵行企业网站设计与制作g> .NET Framework为我们提供了丰富的类库,但是这并不是万能地,在大部分的时间,我们都需要为我们的项目特殊定制我们的通用类库。 常常,我们都可以构造一个类,类里封装一些方法。但是对于很多时候,我们并没有办法提取出这样一个类,举一个小例子,我们在很多时候,需要把url给保存到数据库里,作为一个唯一标识,但是我们知道url所占空间很大,如果用url来建立索引的话是非常耗费空间,而且影响效率的,那么我们最常用的办法就是把url做一个Hash来作为索引的替代品。 这个时候,我们根本就没有办法说我们来怎么样提取一个类,然后在... 阅读全文

Silverlight 2.5D RPG游戏“.NET研究”技巧与特效处理:(六)流光追影

2011-10-19 19:39 by 狼人:-), 184 阅读, 收藏, 编辑
摘要: 依稀记得《奇迹》里为了让装备炫酷“流光”而砸锅卖铁;仍旧迷恋每次的跳跃、冲刺、特写所带来的动态“追影”。岁月流淌,让无数玩家无论花费多少时间与金钱都无怨无悔,依旧那天地合一之特性装备;手握幻象残光之溢彩神器,踏着御风而行的随影擦肩而过,陶醉的不仅仅是自己,亦绝非寂寞... “流光追影” 效果不仅提升了玩家对于装备品质的不懈追求,同时在趣味性及耐玩性方面都是优秀网游所必备的要素之一;事实也证明了拥有华丽的“流光追影”装备效果的游戏业绩往往都很不错,比如基于逐帧手绘的《地下城与勇士》及名作续集《万王之王3》 当然,“流光追影”特效在游戏中的应用非常广泛,除了武器和身体等部位会用到外,... 阅读全文

在.NET使用JSON“.NET研究”作为数据交换格式

2011-10-19 19:39 by 狼人:-), 175 阅读, 收藏, 编辑
摘要: 我们知道在.NET中我们有多种对象序列化的方式,如XML方式序列化、Binary序列化,其中XML序列化是一种比较通用的在各语言之间传递数据的方式。除了这两种序列化方式之外,在.NET中还可以使用JSON序列化。 JSON(JavaScript Object Notation)是一种轻量级轻量级的数据交换格式,并且它独立于编程语言,与XML序列化相比,JSON序列化后产生的数据一般要比XML序列化后数据体积小,所以在Facebook等知名网站中都采用了JSON作为数据交换方式。在.NET中有三种常用的JSON序列化的类,分别是 System.Web.Script.Serializati... 阅读全文

C#中字符“.NET研究”串的内存分配与驻留池

2011-10-19 19:38 by 狼人:-), 274 阅读, 收藏, 编辑
摘要: 刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下: String s1 = "Hello";String s2 = "Hello"; //s2和s1的实际值都是Hellobool same = (object) s1 == (object) s2;//这里比较s1、s2是否引用了同一个对象实例//所上海闵行企业网站设计与制作以不能写作bool same = s1 == s2; //因为String类重载了==操作符来比较String对象包... 阅读全文

ASP.NET MVC 3和Razor中的@helper “.NET研究”语法

2011-10-19 19:38 by 狼人:-), 218 阅读, 收藏, 编辑
摘要: ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外)。当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速、通畅的编码工作流。 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束。代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码。这种更加简洁、富有表现力的语法更加干净,输入也更快速,有趣。 今天的博文涵盖了Razor的一项很多人都不知道的功能——利用@helper语法定义可重用的帮助器方法。 简单的 @hel... 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 72 下一页