代码改变世界

随笔分类 -  [13]程序人生

.Ne“.NET研究”t Discovery系列-深入理解平台机制与性能影响(上)

2011-10-19 19:38 by 狼人:-), 195 阅读, 收藏,
摘要: 转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。 本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议。 《.Net Discovery》系列的每篇文章撰写耗时都在2天以上,转载时麻烦著名作者Aicken(李鸣),并且未经作者同意,禁止一切商业用途! 一.关于垃圾回收机制● 机制分析垃圾收集器是.Net平台的一个特性,它自动回收托管堆上不再使用的对象,及时... 阅读全文

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

2011-10-19 19:38 by 狼人:-), 167 阅读, 收藏,
摘要: 上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的另一批黑马—JIT。有关JIT的机制分析 ● 机制分析以C#为例,在C#代码运行前,一般会经过两次编译,第一阶段是C#代码向MSIL的编译,第二阶段是IL向本地代码的编译。第一阶段的编译成果是生成托管模块,第二阶段的编译成果是生成本地代码以供运行,从这里各位同学可以看出,第一阶段生成的MSIL是不能直接运行的。必须指出的是JIT在第一次编译IL后,会修改对应方法相应的内存地址入口,下一次需要执行这个方法时,CLR会直接访问对应的内存地址,而不会经过JIT了。 以Lo... 阅读全文

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

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

Entity Fram“.NET研究”ework 4.1 Code First 学习之路(二)

2011-10-19 19:38 by 狼人:-), 404 阅读, 收藏,
摘要: 写系列的上一篇已经是很久之前的事儿了= =在此期间,EF 4.1的RTW都已经出来了,NH 3.2的Alpha已经2了。。。其实不是我懒,工作中也在一直使用EF 4.1。主要是上次承诺过的一个Update功能搞不定= = 总之这一次的目标是: 实现一个完整的IRepository(添加增删改能力) 领域对象的继承 事物 首先来看IRepository 我的接口如下: public 上海徐汇企业网站设计与制作or: #0000ff;">interface IRepository<TEntity> where TEntity : IEntity{ IEnume... 阅读全文

C#“.NET研究”权限管理和设计浅谈

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

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

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

Aj“.NET研究”ax和WEB服务数据格式:自定义返回格式

2011-10-19 19:38 by 狼人:-), 292 阅读, 收藏,
摘要: 这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP。现在我们来看看自定义数据格式。 最佳的数据传输格式应该是使用最少的传输量表达最需要的数据。想想之前在XML和JSON中定义的书的数据。我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写: The Principles of Beautiful Web Design, 2nd Edition;http://www.sitepoint.com/books/design2/;Jason Beaird;SitePoint;39.95;USDjQuery: Novice to... 阅读全文

VS201“.NET研究”0实践RUP4+1架构模型

2011-10-18 22:40 by 狼人:-), 329 阅读, 收藏,
摘要: RUP4+1架构方法 RUP4+1上海企业网站设计与制作架构方法采用用例驱动,在软件生命周期的各个阶段对软件进行建模,从不同视角对系统进行解读,从而形成统一软件过程架构描述. 上海网站建设.png" border="0" alt="" width="498" /> 图 1. RUP4+1架构图 用例视图(Use Cases View),最初称为场景视图,关注最终用户需求,为整个技术架构的上线文环境.通常用UML用例图和活动图描述。 逻辑视图(Logical view),主要整个系统的抽象结构表述主要关注系统提供最终用户 阅读全文

C# 枚举在项目中的应用“.NET研究”总结

2011-10-18 22:40 by 狼人:-), 227 阅读, 收藏,
摘要: 本文主要是我在实际项目中对C#枚举的应用总结,如果存在不足的地方欢迎您指出。 一、枚举基本运用 1、枚举其实可以理解为一个恒量的结合,又或者可以认为它是一种类型。比如以下枚举定义: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public enum MicrosoftTechnology { CSharp, ASPNETMVC, SQLServer, WCF, ... 阅读全文

走向ASP.NET“.NET研究”架构设计——第六章:服务层设计(中篇)

2011-10-18 22:40 by 狼人:-), 216 阅读, 收藏,
摘要: Façade设计模式 在SOA客户端的设计中,最常用的模式就是Façade模式了。Façade模式简化了复杂子系统的调用接口,也就说,Façade隐藏了子系统之间的复杂关系,给客户端一个简单的调用接口。 Façade模式的好处如下: 1.它可以使得第三方的类库经过包装之后,通过一个简单的接口就可以调用,如下图所示。 2.它可以通过抽象等方式来解耦其他系统之间的依赖。 3.它可以使得各个子系统之间的调用复杂度隐藏,通过一个简单的接口就可以调用,如下图所示 在上面的图中: 1.客户端调用Façade的一个简单的API来执行一个任务。客户端 阅读全文

.NET企业级架构解决“.NET研究”方案:业务层

2011-10-18 22:40 by 狼人:-), 197 阅读, 收藏,
摘要: 引言 Martin Fowler说过:“任何人都可以写出计算机才能理解的代码,只有写出人能理解的代码的程序员才是好程序员。” 每一个复杂的软件都应该按层来组织。每一层代表系统的一个逻辑部件。尤其是,业务层的模块包括了所有使得系统运行的时候和其它层交互所需要的功能算法和计算,其他层包括数据访问层DAL和表现层。 业务层是任何分层系统的神经中心,包含了大部分的核心逻辑。因为这个原因,它也经常被叫做:业务逻辑层BLL。 正文 1、业务逻辑层是什么 抽象的讲,业务逻辑层是系统的一部分,用来处理和业务相关的任务。本质上,业务逻辑层包括一系列执行数据的操作。数据被模型化为问题域的实... 阅读全文

体验ASP.NET MVC 3“.NET研究”中的Razor特性

2011-10-18 22:40 by 狼人:-), 268 阅读, 收藏,
摘要: 1 闲话ASP.NET MVC 3beta 不知道不觉MVC3更新了好几次了。。。因为一直在弄Silverlight的开发没有时间关注ASP.NET MVC.之前出preview 的时候就看了园子里的一些文章。 但是总觉得"不咋地",依赖注入早就有一套了,全局拦截器也就那么回事。。好像都没有对开发效率有太大的提升。。。(一己之见.目前正在学习MVC3BEAT的DI)。 除了RAZOR... 好吧。 现在开始动手吧! 2开工 2.1目录 在_ViewStart.cshtml中指定 StartPage.Layout 会在程序启动时,预先加载这个页面。 C... 阅读全文

WPF企业内训全程“.NET研究”实录(下)

2011-10-18 22:40 by 狼人:-), 201 阅读, 收藏,
摘要: 摘要 WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,中篇WPF企业内训全程实录(中)主要讲解开发模式、团队协作及应用框架,起着承上启下的作用,主要讲解开发模式、团队协作及应用框架。这篇作为该实录的下篇——终结篇,起着总结的作用,主要讲解其他技术的引用、WPF项目及性能优化、部署与更新等议题。 其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容、然后过渡到开发模式及框架、最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程。上篇实际上主要有两个侧重点:一则就是理清脉络——历史渊源、概念... 阅读全文

LightSwitch:小试一“.NET研究”下微软开发框架LightSwitch

2011-10-18 22:40 by 狼人:-), 312 阅读, 收藏,
摘要: 之前知道微软在做一个数据驱动的开发框架LightSwitch,但没有用过。前一阵子,一个客户的技术负责人和我说起LightSwitch,所以这次TechNet也就去听了一下LightSwitch的讲座。回来后试用了一下,下面给大家简单介绍一下LigthSwitch。 安装 从官方网站下载,我机器本身装了VS2010,安装过程中会去下载一些文件,大概80M吧。 执行安装过程中我出现了一个问题,不知道你有没有。我的上海企业网站制作问题如下图,从提示看出是权限不够,所以我找到这个隐藏目录在【安全】页增加了Everyone,记住要给Everyone附上所有权限: 示例... 阅读全文

走向ASP.NET架构设“.NET研究”计——第六章:服务层设计(前篇)

2011-10-18 22:40 by 狼人:-), 147 阅读, 收藏,
摘要: 本篇主要是为后文做铺垫,所以理论的东西相对而言比较的多一点! 服务层的概述 首先解释一下什么是上海企业网站制作”服务Service”,从广义来讲:只要是你使用了别人的东西,那么你就在使用别人提供的服务。在这里,服务就是指可能被一个或者多个系统使用的核心的业务逻辑,我们可以把服务简单的想象成为一些可供调用的API。 在之前的第四章中,我们讲述了如何组织业务逻辑,第五章讲述了在业务层的设计中可以采用的一些模式。但是还有一个问题需要大家考虑的是:如何把业务层提供给其他的层来调用? 可能认为这个问题有莫名奇妙—不是只要引用业务层的组件就行了吗。但是仔细想想,却不尽然:因为在很多系统... 阅读全文

提高效率 用好Visual Studio 2010自定义代码“.NET研究”段

2011-10-18 22:40 by 狼人:-), 210 阅读, 收藏,
摘要: 我在演讲时发现这个功能也相当有用,不用现场敲代码,直接调出非常方便。Visual Studio 2010增强了自定义代码段功能,使创建自定义代码段的操作更加简单了。 有两种类型的代码段: ◆在游标中插入的Expansion自定义代码段 ◆围绕选定代码的SurroundsWith自定义代码段 创建自定义代码段 首先在项目中插入一个新的XML文件,取名为TryCatchFinally.snippet,注意文件名的后缀是.snippet,然后在编辑器窗口点击右键,选择“插入代码段”*“代码段”,创建一个基本的XML代码段模板,代码如下: Code highlighting... 阅读全文

不附加数据库 ASP.NET调用.“.NET研究”sql文件

2011-10-18 22:40 by 狼人:-), 176 阅读, 收藏,
摘要: 笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。创建数据库语句好办, Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->"IF Not EXISTS (select name from master.dbo.sy 阅读全文

用优秀.NET界面控“.NET研究”件 打造新潮界面效果

2011-10-18 22:40 by 狼人:-), 242 阅读, 收藏,
摘要: 一直以来,做.NET共享小软件的界面一般采用IrisSkin这个比较不错的皮肤控件来美化界面效果,方便易用,界面效果也还可以。该控件开发应用比较方便,拖动控件到主界面,然后初始化地方添加一下代码即可: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->string skinFile = ConfigurationManager.AppSettings["SkinFile"];this.skinEngine1.SkinFile 阅读全文

细数十大“.NET研究”免费构建ASP.NET网站必备工具

2011-10-18 22:40 by 狼人:-), 229 阅读, 收藏,
摘要: 最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/。在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具总结一下,将会是一件十分有趣的事情。这些工具既支持ASP.NET Web Forms又支持ASP.NET MVC。 性能工具 读了两本关于网站的前端性能的书(这两本优秀的图书分别是:《High Performance Web Sites》 和 《Even Faster Web Sites》,作者是Steve Souders)以后,我对网站的前端性能十分敏感。根据Steve Souder... 阅读全文

讨论:““.NET研究”Mono是个跨平台的.NET”是否是个正确的说法

2011-10-18 22:40 by 狼人:-), 243 阅读, 收藏,
摘要: Thorbjorn在提问中认为Mono并不能称作是跨平台的.NET,理由如下: OpenJDK等Java提供商都通过了官方的Sun TCK来保证正常工作,Mono似乎并没有通过Microsoft TC上海企业网站设计与制作K。 Mono的发布总是落后于.NET,那么目前它又对.NET支持到什么程度呢? 如WinForm等GUI工具是否可以在Mono下正常工作? 商业用户不会将开源框架作为备选方案。 用户sparkie首先回应了以上几点疑问: 首先,CLI(Common Language Infrastructure)和.NET是有区别的,前者是公开标准,而后者是微软对这一标准的实... 阅读全文
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 73 下一页