代码改变世界

.Net Discovery系列之-深入理解平台机制与性“.NET技术”能影响(下)

2011-10-13 19:27 by 狼人:-), 112 阅读, 0 推荐, 收藏, 编辑
摘要:三.关于异常捕获机制 虽然我们已经很辛苦了,但是仍然有很多原因使代码运行失败,如引用null引用、索引越界、内存溢出、类型转换失败等等。这就需要我们的代码有足够的容错能力,在代码运行失败时,及时、主动的处理这些异常。 ● 机制分析 .Net 中基本的异常捕获与处理机制是由try…catch…finally块来完成的,它们分别完成了异常的监测、捕获与处理工作。一个try块可以对应零个或多个catch块,可以对应零个或一个finally块。不过没有catch的try似乎没有什么意义,如果try对应了多个catch,那么监测到异常后,CLR会自上而下搜索catch块的代码,... 阅读全文

Entity Fr“.NET技术”amework 4.1 Code First 学习之路(二)

2011-10-13 19:27 by 狼人:-), 202 阅读, 0 推荐, 收藏, 编辑
摘要:写系列的上一篇已经是很久之前的事儿了= =在此期间,EF 4.1的RTW都已经出来了,NH 3.2的Alpha已经2了。。。其实不是我懒,工作中也在一直使用EF 4.1。主要是上次承诺过的一个Update功能搞不定= = 总之这一次的目标是: 实现一个完整的IRepository(添加增删改能力) 领域对象的继承 事物 首先来看IRepository 我的接口如下: public interface IRepository<TEntity> where TEntity : IEntity{ IEnumerable<TEntity> FindAll(); ... 阅读全文

C#权限管理和设计浅“.NET技术”谈

2011-10-13 19:27 by 狼人:-), 287 阅读, 0 推荐, 收藏, 编辑
摘要:权限管理是很多软件中相当重要的一个模块它的设计的好坏直接影响到软件的安全性、权限管理的可扩展性和易操作性 以及代码中权限判断的复杂程度和效率等方面。此文主要想和大家分享的是这段时间,对权限管理和设计的断断续续的思考学习,和个人的一些软件开发等方面的看法。 提到'权限管理和设计',大家可能会第一时间想到这园子里的吉日嘎拉,在这方面他可以算是'大牛'或专家 他的'通用权限管理系统',究竟做的怎样,看看他的博客就差不多可以知道了(貌似我在给他做推广,呵呵...,but in fact,is not),别的暂且不敢说,最起码可以看出他研究的比较深入和狂热 阅读全文

Silverlight 2.5D RPG游戏技巧与特“.NET技术”效处理:(十一)AI系统

2011-10-13 19:27 by 狼人:-), 142 阅读, 0 推荐, 收藏, 编辑
摘要:谈到人工智能(AI),这个话题就太大了;大学里有《人工智能教程》专门讲这方面的知识,什么大名鼎鼎的人工神经网络、遗传算法等等均可一窥究竟,这里如赘述似乎有些班门弄斧,我们暂且丢它一边去吧。 本节,我的主要目的是与大家共同探讨AI在RPG游戏中的应用。看过之前教程的朋友一定不会陌生,A*算法就是其中的一个重要组成部分;而本系列Demo中则使用了更为高级的改进型A*算法,不仅优化了性能,同时也大幅提升了玩家的操控体验。除此之外,AI更常见于RPG游戏中的角色,接下来我将引领大家循着AI的足迹,逐步探寻Silverlight网页游戏中的AI系统设计与Demo实现。 以一份网上见到的AI系... 阅读全文

“.NET技术”Ajax和WEB服务数据格式:自定义返回格式

2011-10-13 19:27 by 狼人:-), 132 阅读, 0 推荐, 收藏, 编辑
摘要:这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP。现在我们来看看自定义数据格式。 最佳的数据传输格式应该是使用最少的传输量表达最需要的数据。想想之前在XML和JSON中定义的书的数据。我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写: 上海企业网站制作The Principles of Beautiful Web Design上海企业网站设计与制作n style="color: #000000;">, 2nd Edition;http://www.sitepoint.com/books/design 阅读全文

再次“.NET技术”分享一个多选文件上传方案

2011-10-13 19:27 by 狼人:-), 304 阅读, 0 推荐, 收藏, 编辑
摘要:多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的。很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能。 主要实现的功能如下: 一、选择多个文件上传并显示单个文件的上传进度 二、显示所有文件总的上传进度 三、显示所有上传文件的总大小 四、上传前可以删除任意选定一个或多个文件(按住Ctrl或Shift键) 五、ASP... 阅读全文

也玩MVC3.0 Razor自定义视图引擎“.NET技术”来修改默认的Views目录结构

2011-10-13 19:27 by 狼人:-), 250 阅读, 0 推荐, 收藏, 编辑
摘要:刚刚爱上MVC3.0,几个不眠夜的学习越来越有趣。今天随手尝试自定义Mvc3.0的视图引擎,虽然已成功,但是还发现有点小疑问。随手贴出来希望大家指教指教。 MVC的视图文件目录被固定/Views目录内,区域视图文件也是被固定在/Areas目录下,出于好奇和对目录名的敏感,尝试修改它。通过reflector找到视图引擎的构造接口类VirtualPathProviderViewEngine 在MVC2.0中,自定义自己的视图引擎,继承它即可,但在3.0中,我发现继承它会缺少一个函数。再reflector获得了BuildManagerViewEngine的抽象类,因为RazorViewEngine继 阅读全文

C#中标准Disp“.NET技术”ose模式的实现

2011-10-13 19:27 by 狼人:-), 302 阅读, 0 推荐, 收藏, 编辑
摘要:需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等; 毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的Dispose方法。 不过,这一切并不这么简单,一个标准的继承了IDisposable接口的类型应该像下... 阅读全文

.NET中的异步编程- IO完“.NET技术”成端口以及FileStream.BeginRead

2011-10-13 19:27 by 狼人:-), 150 阅读, 0 推荐, 收藏, 编辑
摘要:写这个系列原本的想法是讨论一下.NET中异步编程风格的变化,特别是F#中的异步工作流以及未来的.NET 5.0中的基于任务的异步编程模型。但经过三篇文章后很多人对IO异步背后实现的原理以及为什么这样能提高性能很感兴趣。其实我本不想花更多的文字在这些底层实现的细节上,一来我并不擅长这些方面,二来我们使用.NET的异步IO就不需要关心这些底层上海企业网站制作东西,因为已经为你封装完备了。不过为了避免大家一再在这上面商讨,我还是在这个系列中间插入了一篇来解释一下。 本文我将从内核对象IO完成端口开始介绍,然后来瞧瞧.NET BCL中的FileStream.BeginRead是如何利用IO完成... 阅读全文

引用类型赋值“.NET技术”为null与加速垃圾回收

2011-10-13 19:27 by 狼人:-), 124 阅读, 0 推荐, 收藏, 编辑
摘要:在标准的Dispose模式中,提到了需要及时释放资源,却并没有进一步细说让引用等于null是否有必要。 有一些人认为等于null可以帮助垃圾回收机制早点发现并标识对象是垃圾。其他人则认为这没有任何帮助。是否赋值为null的问题首先在方法的内部被人提起。现在,为了更好的阐述提出的问题,我们来撰写一个Winform窗体应用程序。如下: private void button1_Click(object sender, EventArgs e) { Method1(); Method2(); } ... 阅读全文

MEF——.NE“.NET技术”T中值得体验的精妙设计

2011-10-13 19:27 by 狼人:-), 209 阅读, 0 推荐, 收藏, 编辑
摘要:MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。MEF的目标是简化创建可扩展的应用程序,其核心类是ComposablePart,即具有组合能力的组件,每一个称为ComposablePart(中文可为可组合构件,不过下文一直采用英文来表示,这样比较贴切)的组件可以组合(称为Import)其它组件的功能(其它组件通过声明Export提供功能)并且它也可以通过定义Export将其功能暴露给其它组件。 ComposablePar... 阅读全文

在C#“.NET技术”中选择正确的集合进行编码

2011-10-13 19:27 by 狼人:-), 221 阅读, 0 推荐, 收藏, 编辑
摘要:要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。上海网站建设结合下图,我们看一下对集合的分类。 上海企业网站制作logs_com/luminji/201103/201103240912184442.png"> 集合分类 在上图中,可以看到,集合总体上分为线性集合和非线性集合。线性集合指元素具有唯一的前驱和后驱的数据结构类型。非线性集合是指具有多个前驱或后驱的数据结构类型,如:树、图。在FCL中,非线性集合实现的比较少,所以我们将会更多的讨论线性集合。 注意:由于类型安全、转型效率等方面的原因,本建议将... 阅读全文

“.NET技术”使用WCF实现SOA面向服务编程—— 架构设计

2011-10-13 19:27 by 狼人:-), 397 阅读, 0 推荐, 收藏, 编辑
摘要:SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是service)组合构建起来的。因此,基于SOA的架构也一定是从企业的具体需求开始构建的。但是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性。业务灵活性是指企业能对业务变更快速和有效地进行响应、并且利用业务变更来得到竞争优势的能力。对企业级架构设计师来说,创建一个业务灵活的架构意味着创建一个可以满足当前还未知的业务需求的IT架构。使用WCF实现SOA,正好可以利用WCF的灵活性,把业务.. 阅读全文

带你走进缓“.NET技术”存世界

2011-10-13 19:27 by 狼人:-), 181 阅读, 0 推荐, 收藏, 编辑
摘要:我们搞程序的多多少少都了解点算法。总体来讲,算法是什么?算法就是“时间”和“空间”的互换策略。我们常常考究一个算法的时间复杂度或空间复杂度,如果我们有绝对足够的时间或空间,那么算法就不需要了,可惜这种条件是不存在的,只是在某些情况下相对来说我们不用去考虑其中一个。今天我们讨论的“缓存”,自然就是“用空间换时间”的算法。 缓存就是把一些数据暂时存放于某些地方,可能是内存,也有可能硬盘。总之,目的就是为了避免某些耗时的操作。我们常见的耗时的操作,比如数据库的查询、一些数据的计算结果,或者是为了减轻服务器的压力。其实减轻压力也是因查询或计算,虽然短耗时,但操作很频繁,累加起来也很长,造成严重... 阅读全文

Silverlight“.NET技术” 2.5D RPG游戏技巧与特效处理:(十)空间分层战斗系统

2011-10-13 19:27 by 狼人:-), 120 阅读, 0 推荐, 收藏, 编辑
摘要:提到RPG中的空战系统,首先想到的当然是3D,这方面可是它的绝活。比如以之为核心噱头的《永恒之塔》;当然,在2.5D网游中也有着类似的实现,像《西游记Online》,不过该游戏的空战仅仅是将战场(场景)变换到了空中而已,地面呈现的仅是会动的背景,类似的功能其实早就已出现在《大话西游》系列等著名的2D游戏中。 本节我将引领大家在教程Demo的基础上通过简单的修改轻松实现完美的天空、大地之空间分层战斗系统:当主角飞入天空时,隔着云雾我们能依稀鸟瞰地面上的一切角色、动画等的一切真实活动;而当主角降落大地时,天空中的一切都将被隐藏,一切都将显得自然而贴近现实。 有了第八节空间缩放系统与角色... 阅读全文
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 311 下一页