代码改变世界

一起谈.NET技术,写出优雅简明代码的论题集 -- Csharp(C#)篇[1]

2011-09-02 00:10 by 狼人:-), 242 阅读, 0 推荐, 收藏,
摘要:最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢C#,所以以C#为例。主要一共有三位程序员在一起讨论,为简单起见我用ABC代表我们三个人。 有时候我们会针对一些代码进行讨论,有时候我们会提出一些观点,有时候我们会一起学习网上一些现有的博客,为了便于大家引用,我给每一个论题都编上号。 在很多情况下,我们的意见统一,那么我会给大家呈现我们的结论;但是有些情况我们有分歧。 你可以加入我们的讨论,我非常也希望能够获知你的意见,让我们一起茁壮成长! 好吧,让我们今天就开始。 论题一:函数越小越好! 相信绝大部分程序员会认同这一点,维护一个超过100行的函数会让人抓狂。 ... 阅读全文

一起谈.NET技术,ASP.NET控件10个最有用的属性详解

2011-09-02 00:10 by 狼人:-), 266 阅读, 0 推荐, 收藏,
摘要:对于微软平台开发人员而言,每天都要和各种ASP.NET控件打交道,本文不打算介绍各种控件的具体使用方法,相反,我只想和大家分享一下ASP.NET控件最有用的10个属性,相信读完本文可提升你的开发技能。 1、ClientIDMode 渲染ASP.NET控件时会自动生成一个ID,当我们在客户端脚本中引用它们时,却会制造不少麻烦,虽然它是命名容器和ID的简单串联,但仍然无法预测生成的ID范围。 ASP.NET 4.0使用ClientIDMode属性解决了这个问题,它允许你控制生成这些ID的方法,ClientIDMode有四个可选择的值:AutoID,Static,Predictab... 阅读全文

一起谈.NET技术,你应该知道的15个Silverlight诀窍

2011-09-02 00:10 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:我热爱Silverlight,并且身体力行写了很多Silverlight程序,也讨论了很多关于Silverlight的技术。对于刚刚接触Silverlight的开发人员来说,这篇文章是最适合你的。这篇文章列出了我使用Silverlight进行开发后,发现的15条小诀窍。如果你是一个全职的Silverlight开发的话,我希望你能了解并掌握它们。 我不会谈论MVVM,Prism或者MEF这些复杂的以至于吓跑读者的东西。 1. 下图中黄色的高亮文字代表了Silverlight 对象的MIME类型,而不是运行时版本信息。许多开发人员第一次看到这段代码的时候都会认为这个地方是引用了Silverl... 阅读全文

一起谈.NET技术,URI和URL及URN的区别

2011-09-02 00:10 by 狼人:-), 293 阅读, 0 推荐, 收藏,
摘要:对于URL,大家都比较熟悉,其他两个词就比较陌生了。URI、URL和URN是识别、定位和命名互联网上的资源的标准途径。1989年Tim Berners-Lee发明了互联网(World Wide Web)。WWW被认为是全球互连的实际的和抽象的资源的集合–它按需求提供信息实体–通过互联网访问。实际的资源的范围从文件到人,抽象的资源包括数据库查询。 因为要通过多样的方式识别资源(人的名字可能相同,然而计算机文件只能通过唯一的路径名称组合访问),所以需要标准的识别WWW资源的途径。为了满足这种需要,Tim Berners-Lee引入了标准的识别、定位和命名的途径:URI、URL和URN。 ... 阅读全文

一起谈.NET技术,Silverlight 游戏开发小技巧:扇形排列元素

2011-09-02 00:10 by 狼人:-), 282 阅读, 0 推荐, 收藏,
摘要:斗地主风靡了大江南北,在春晚都做免费性推广,棋牌游戏平台几乎将其作为标配,但是牌类游戏总是一成不变的样子——横向排列,如果扇形排列应该更加符合真实,最近在WP7上玩了一个UNO游戏就是用扇形排列,感觉很不错,今天咱们照猫画虎,在Silverlight上实现一个扇形的手牌效果。 可能看到这个预览图有的朋友就会笑了,这个可以使用RenderTransform实现,前面有讲过,只需要将RenderTransformOrigin的原点设置在牌外面就行,然后旋转,这样实现倒是可以,可是算起来实在麻烦,要考虑牌数和位置,今天不是炒冷饭,而是使用PathListBox来实现,PathListBox在... 阅读全文

一起谈.NET技术,Silverlight程序集缓存巧妙设置 优化用户体验

2011-09-02 00:10 by 狼人:-), 235 阅读, 0 推荐, 收藏,
摘要:Silverlight中的程序集缓存可以将一些独立的程序集放在XAP包外边并可以缓存在客户端的浏览器中,这样就可以减少程序启动时下载XAP包的时间。默认情况下Silverlight并没有开启程序集缓存,因此需要自己动手开启。 右键打开项目的属性,并在通过使用应用程库缓存较小XAP大小选项打钩,如图: 在没选择此项之前编译项目看一下XAP中的DLL,如图: 重新编译项目,选择显示所有文件然后打开Bin\Debug目录,会看到每一个缓存程序集都有自己的zip文件包。比如,如果使用了System.Windows.Controls.dll,会看到一个System.Windows.C... 阅读全文

一起谈.NET技术,Silverlight 游戏开发小技巧:昼夜交替动画

2011-09-02 00:10 by 狼人:-), 266 阅读, 0 推荐, 收藏,
摘要:记得在WP7上玩一个游戏有段动画很有趣,是背景在进行昼夜交替,一会儿白天太阳出来白天了,一会儿月亮蹦出来夜晚了,在以前做C++程序的时候曾经实现过类似的效果,今天早上移植了一下到Silverlight当中效果还是不错,当然了,有了Blend神器,就完全不用通过代码的方式实现,真的方便了很多。 以前的效果预览: 由于条件所限定,本篇中实现的效果仅仅为一个引子,更细的细节,还需要自行制作,请注意,本篇的程序尺寸为600x400的标准。 为了方便起见,就不用Blend来画太阳和月亮了,直接使用了两张图片: 加入工程后,打开MainPage控件,添加两个Rectangle,分别来表... 阅读全文

一起谈.NET技术,.NET中的异步编程-Continuation passing style以及使用yield实现异步

2011-09-02 00:03 by 狼人:-), 288 阅读, 0 推荐, 收藏,
摘要:传统的异步方式将本来紧凑的代码都分成两部分,不仅仅降低了代码的可读性,还让一些基本的程序构造无法使用,所以大部分开发人员在遇到应该使用异步的地方都忍痛割爱。本来我在本篇文章中想讨论一下.NET世界中已有的几个辅助异步开发的类库,但是经过思考后觉得在这之前介绍一下一些理论知识也许对理解后面的类库以及更新的内容有所帮助。今天我们要讨论的是Continuation Passing Style,简称CPS。 CPS 首先,我们看看下面这个方法: 1: public int Add(int a, int b) 2: { 3: return a + b; ... 阅读全文

一起谈.NET技术,C#编程笔记(一)

2011-09-02 00:03 by 狼人:-), 189 阅读, 0 推荐, 收藏,
摘要:前段时间,帮朋友用C#做了一个小玩意儿,在开发过程中,发现很多用的着的东西,在网上都没有很好的解决方案,前前后后折腾了近一个月,总算是基本上完成了,在此整理下,权作以后再用到时复习之用。 这个东西有点像星座性格测试那种的,只不过是要C/S的,安装到客户端上,所以做起来限制比较多。首先要有数据录入的功能,提供界面,用户要能向其中录入数据,比如星座测试一条一条的题目;然后要对每个题目,提出相应的反馈、建议;最后,录入完成了,用户还要能够有个界面对指定的数据库进行增删改查:前面是录入的功能。在用户性格测试的时候,要有窗口完成答题,并在提交后,查看测试的结果,有打分,有整体评价,并且对于那些答得不.. 阅读全文

一起谈.NET技术,ASP.NET MVC中的Json Binding和Validate

2011-09-02 00:01 by 狼人:-), 252 阅读, 0 推荐, 收藏,
摘要:电子商务网站支付功能页面往往会有很多信息,对于这些信息的保存,往往是分步完成的,那么使用Ajax最合适不过了,比如其中的收货人信息模块。这些信息的新建和编辑保存都是用Ajax来完成的。那么有几种方式完成这个操作呢,我想到如下几种。 先来看看该功能的截图: 一般情况下这些信息会对应一个实体类,就命名为:ReceiverInfo,简单起见,我定义ReceiverInfo如下: 1、将需要的值拼接成json文本,再Action里面处理 首先您需要将要保存的值拼接成一个json文本,类似: var test = "{ ReceiverId: 5, ReceiverName: '... 阅读全文

一起谈.NET技术,NHibernate 变的简单

2011-09-02 00:01 by 狼人:-), 212 阅读, 0 推荐, 收藏,
摘要:下载示例程序代码 - 1,162.6 KB 前言 这篇文章出自于我尝试学习使用Nhiberbnate的挫败感。我发现好像Nhibernate全部的介绍材料不是很模糊就是太详细。我所需要的就是一个简单直接的教程,能让我尽快对NHibernate熟悉起来。我从来没有找到。幸运的是,这篇文章将会满足别人的这些需求。 这篇文章有些长,但是我鼓励你以你的方式来阅读。NHibernate是一个复杂的程序,是一个绵延曲折的学习过程。这篇文章将为你踏平曲折,从几天或是几周缩短到几个小时。 问题 NHibernate目的是解决一个众所周知的问题,对象持久代码在开发过程中的瓶颈问题。很多... 阅读全文

一起谈.NET技术,了解 C# 4 中的 Dynamic 关键字

2011-09-02 00:01 by 狼人:-), 260 阅读, 1 推荐, 收藏,
摘要:dynamic 关键字和动态语言运行时 (DLR) 是 C# 4 和 Microsoft .NET Framework 4 中的重大新增功能。 这些功能在宣布时就引起了人们的极大兴趣,并伴随着许多疑问。 同时人们也给出了很多答案,但这些答案现在已散布于各种文档以及各种技术博客和文章之中。 这样,人们在各种论坛和会议上总是一遍又一遍地提出相同的问题。 本文全面概述了 C# 4 中新增的动态功能,并且深入探讨了这些功能如何同其他语言和框架功能(例如反射或隐式类型化变量)一起使用。 ... 阅读全文

一起谈.NET技术,ASP.NET4中不要相信Request.Browser.Cookies,Form验证要用UseCookies

2011-09-02 00:01 by 狼人:-), 134 阅读, 0 推荐, 收藏,
摘要:从ASP.NET 3.5升级至ASP.NET4之后,遇到三种登录后不能保存cookie的情况(升级前一切正常): 1. 遨游3在极速模式下(默认模式)。 2. FireFox中修改了UserAgent。 3. 诺基亚手机自带浏览器或者UCWeb浏览器访问博客园手机版(m.cnblogs.com)。 今天终于把罪魁祸首给揪出来了,它就是Request.Browser.Cookies。 如果你在程序中使用Form验证并使用cookie保存用户的登录状态,请切记:在<authentication mode="Forms">/<forms>中要加上cooki 阅读全文

一起谈.NET技术,.NET 4九大新特性 FrameWork达到新境界

2011-09-02 00:01 by 狼人:-), 266 阅读, 0 推荐, 收藏,
摘要:本文将向您介绍.NET框架4中的主要功能和改进特征。请注意,本文中并没有提供有关这些新功能的综合信息,并随时可能更改。 请注意,.NET框架4引入了一个改进的安全模式。有关该内容的更多的信息,请参阅文章《.NET框架4中的安全变化》。 具体来说,本文中将介绍.NET框架4的如下一些新功能和改进特征: 应用程序兼容性和部署 内核新功能及改进 托管扩展框架 并行计算 网络编程 Web开发 客户端开发 数据 通信和工作流 一、应用程序兼容性和部署 除了一些在安全、标准遵从、正确性、可靠性及性能等方面的改进之外,.NET框架4与基于早期.NET... 阅读全文

一起谈.NET技术,基于.NET的大型Web站点StackOverflow架构分析

2011-09-02 00:01 by 狼人:-), 334 阅读, 0 推荐, 收藏,
摘要:原文链接:Stack Overflow Architecture Update - Now At 95 Million Page Views A Month 编译/博客园 Stack Overflow网址:http://stackoverflow.com/ 当前访问量:每月9500PV(每天300多万PV) 当前Alexa排名:149 所用.NET技术:C#、Visual Studio 2010 Team Suite、ASP.NET 4、ASP.NET MVC 3、Razor、LINQ to SQL+raw SQL 下面是英文原文: A lot has happened since my fi 阅读全文
上一页 1 ··· 225 226 227 228 229 230 231 232 233 ··· 312 下一页