代码改变世界

艾伟_转载:关于.NET VS JavaEE平台争论的沉思录

2011-08-29 00:21 by 狼人:-), 193 阅读, 0 推荐, 收藏,
摘要:最近关于.NET和java平台之间的争论似乎又热起来了,就我关注的两个社区,先是老赵的《为啥老赵不喜欢Java*语言*》。引发了博客园的大讨论,最近csdn又有人发博.Net与J2EE的快餐型比较,引发了空前的大讨论。从论调来说感觉对java不利。虽然csdn得那个篇博文深度不够,但确实引发了大量了讨论,虽然很多人都说,这个话题没啥好讨论的,既然引发了大讨论,自认有其内在原因在驱动,所谓空穴来风。。。。 关于两个平台的优劣已经讨论的够多了,我在这里就不多说了,我在这里提个现实的问题供大家思考: 国内外用.NET做的大型系统确实java的要比.NET的要多,这是客观的事实,我们研究.NE... 阅读全文

艾伟_转载:ASP.NET MVC数据验证

2011-08-29 00:21 by 狼人:-), 186 阅读, 0 推荐, 收藏,
摘要:关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解。也可能很多人都在Scott Guthrie等人写的一本《ASP.NET MVC 1.0》书中,见过NerdDinner项目中对Dinner对象修改和添加的时的数据验证。但有许多封装的地方,不知道是怎样的工作原理,今天研究了,拿出来给大家分享一下。 数据库还是上一篇blog中的库与表,同样的方法来创建news表的实体类,在自动生成的news这个实体类中,我们发现有一个特殊的分部方法: partial void OnValidate(System.Data.Linq.ChangeAction action); 这个 阅读全文

艾伟_转载:使用Ajax和jQuery实现GridView的展开、合并

2011-08-29 00:21 by 狼人:-), 139 阅读, 0 推荐, 收藏,
摘要:需求简介:电子商务网站中,查询会员的订单,点击“會員”,展现此会员的订单列表。 界面操作: Step 1 展现会员列表,如下图 Step 2 点击“某一会员”行 展现会员订单列表 实现思路: 1、 使用用户控件(CustomerOrders.ascx)展示订单列表,此用户控件只需要包含Repeater控件并绑定数据源 2、 新建一个简单页面GridViewDrillDownjQueryQAjax.aspx,在此页面引用用户控件,展示用户订单列表 3、 在页面GridViewDrillDownjQueryQAjax.aspx新建两个DIV:一个用来展示会员信息,一个用来展示某个... 阅读全文

艾伟_转载:C#下实现空白窗体上中文输入,可以实现类PS的文字工具

2011-08-29 00:21 by 狼人:-), 289 阅读, 0 推荐, 收藏,
摘要:C#下实现空白窗体上中文输入 关键字:类PS的文字工具,中文输入.重复截取中文 最近在研究做一个类PS的文字工具,查了N多的资料,问了N多个人,总算功夫不负有人心.终于给弄出来了.写出来给大家一起讨论.(高手们请多多指点) 在空白窗体上打开输入法,在C#里的空白窗口是无论如何也是打不开输入法.设置了this.ImeMode=ImeMode.NoControl也是无法打开输入法的录字窗口.去Microsoft开发论坛上问了一些问题.感谢周雪峰版主与Riquel_Dong版主给的指点.用了API函数:ImmAssociateContext(IntPtrhWnd,IntPtrhIMC);终于把输.. 阅读全文

艾伟_转载:把委托说透(3):委托与事件

2011-08-29 00:21 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:在把委托说透(1)和(2)中,先后介绍了委托的语法和本质,本文重点介绍.NET中与委托息息相关的概念——事件。在此之前,首先需要补充(2)中遗漏的一部分内容,即C#在语法上对委托链的支持。 C#编译器为委托类型提供了+=和-=两个操作符的重载,分别对应Delegate.Combine和Delegate.Remove方法,使用这两个操作符可以大大简化委托链的构造和移除。 好了,有了+=和-=,我们就可以开始今天的话题了。 什么是事件? 事件(event)是类型中的一种成员,定义了事件成员的类型允许类型(或者类型的实例)在某些特定事情发生的时候通知其他对象。如Button类型的Click事件,在按 阅读全文

艾伟_转载:排行榜数据库设计与分析——为什么实时排行不可行?

2011-08-29 00:21 by 狼人:-), 228 阅读, 0 推荐, 收藏,
摘要:很多网游中都有排行榜,这里就专门讨论一下这个排行榜背后的数据库设计。一开始我觉得这是一个基本的数据库设计问题。只需要有一个实体,没有实体间的关系,没有复杂的逻辑。网络上也搜索不到太多关于这类设计的问题,好像根本不值得为其写个文章。但是在公司专门做了一个月的排行榜数据库设计。才发现问题根本没有看上去那么简单。甚至一篇文章都难以讲明白。不知自己误入歧途了,还是这个问题的确就是很复杂的。所以写个文章讲给大家,或许能有人一语道破。 一开始听到要设计一个排行榜,觉得很简单,一个外键加一个分数列,排名不保存在数据库中,每次查询都实时计算。不就得了? 接下来,就来讨论一下这种方案的可行性。先来描述一下经过最 阅读全文

艾伟_转载:使用配置文件(.settings、.config)存储应用程序配置

2011-08-29 00:21 by 狼人:-), 147 阅读, 0 推荐, 收藏,
摘要:引言 我不知大家早先是如何保存应用程序配置,以备下次打开时使用的,反正我开始学.Net的时候就去研究序列化,以二进制或XML格式的序列化来保存应用程序配置。这样每次都要建立单独的配置类,并书写读写配置代码,相当麻烦。 期间也看了看.config文件的读写方式,感觉还是很麻烦,不如自己序列化来的踏实。 后来才猛然发现微软早提供好了settings,用以定义.config文件内容,并生成相应的强类型类,使用起来极其方便~,感觉就像在火星居住了半辈子突然发现还有地球这好地方*_*~ 鉴于网上settings方面的资料不多、不详,我就以此文来介绍一下基本的用法,让小鸟们少走我那条破路,老鸟请直接从上. 阅读全文

艾伟_转载:从ASP.NET的PHP执行速度比较谈起

2011-08-29 00:21 by 狼人:-), 153 阅读, 0 推荐, 收藏,
摘要:上星期我在InfoQ发表了一篇新闻,对Joe Stagner在博客上发表的三篇关于ASP.NET与PHP性能对比的文章进行了总结。写新闻其实挺不爽的,因为不能夹杂个人的看法,只能平铺直叙陈述事实。当然,如果像某些新闻那样“换一种说法”是可以骗过一些“不明真相的群众”,但是这就有违道德了。因此,在客观陈述完新闻内容之后,我只能选择把自己的感想、评论等内容放在自己的博客上。 Joe Stagner的背景挺特殊,它是PHP的老用户,在ASP.NET出现之前就是PHP的重量级开发人员了。后来不知哪一天开始他加入了微软,我们就可以在一些如介绍ASP.NET AJAX的文章、视频中看到他。这次他又... 阅读全文

艾伟_转载:面向对象封装了啥

2011-08-29 00:21 by 狼人:-), 152 阅读, 0 推荐, 收藏,
摘要:面向对象封装了变化,或者更加准确的说,应该是封装了不变的地方,留出了变化的地方可以在需要的时候再去变,那么什么地方会变化呢? 1、数据的变化 比如一个工厂生产一种纸盒子,程序要计算它的体积,需要有长、宽、高的尺寸,盒子的尺寸是固定的,那么在代码里面直接硬编码,比如长1,宽2,高3,方法返回1*2*3,甚至直接返回6,没有任何问题。现在需求发生了变化,这个工厂生产两种尺寸的盒子,另一种长2宽2高2,这时候变化的就是数据。使用变量来抵御数据的变化。我现在只要在计算体积的方法里设长宽高三个参数,在方法里返回长*宽*高就可以了。这里不变的是计算体积的过程、长宽高的变量,变化的是计算用到的数据。... 阅读全文

艾伟_转载:把事件当作对象进行传递

2011-08-29 00:21 by 狼人:-), 141 阅读, 0 推荐, 收藏,
摘要:最近在琢磨一些事情,和API设计有关。API设计在很多时候是和语言特性有关的,因此如Java这样的语言,在API设计时会处处受到压抑。而C#就能够出现如Moq或Fluent NHIbernate这样的项目。同样,F#能够开发出FsTest,Scala号称Scalable Language,都是依靠着丰富的语言特性。不过,最近在使用C#的时候鼻子上也碰了一点灰,这是因为我发现“事件”这个东西没法作为对象进行传递。 public class Program { public event EventHandler Submit; } 我们如果要为这个事件添加处理函数自然只要: va... 阅读全文

艾伟_转载:LINQ to SQL、NHibernate比较(二)-- LINQ to SQL实例

2011-08-29 00:21 by 狼人:-), 177 阅读, 0 推荐, 收藏,
摘要:用ADO.NET操作数据库大家一定再熟悉不过了,select、insert、update等等SQL语句大家也都必然滚瓜烂熟。我将自己在学习LINQ to SQL过程中的动手经历记录下来,作为今后学习的参考,也希望对刚刚接触的人有一点帮助。 我在本文涉及到一个很简单的系统,利用DataGridView实现数据库数据的批量增、删、改,不是什么强大的功能。 如果有人感兴趣,可以在看完我的这篇文章之后用ADO.NET实现同样的功能,看看到底会比使用LINQ to SQL多多少时间,会多多少代码。(从设计到完成我用时大概2小时,代码量后面介绍中我会贴出我的代码)我相信很多人编码能力比我强很... 阅读全文

艾伟_转载:使用AOP动态调用WebService

2011-08-29 00:21 by 狼人:-), 405 阅读, 0 推荐, 收藏,
摘要:在网上搜了一下“动态调用WebService”相信都能搜出上千篇文章,但是都出自同一个版本:使用ServiceDescriptionImporter导入wsdl然后进行动态编译,再调用相应的Method返回值。这种方法不足之处就是编译的时候可能会有些慢,毕竟是编译整个WebService,而且前台都是使用同一个方法传入调用的方法来进行调用的。再者,如果使用了Model,引用了WebService后的Model并非此Model,而且如果是List的话,那更差之千里了,返回的只能是数组。 本人经过思考,用AOP的原理实现了WebService的动态调用,实际上,是调用接口类的方法,然后使用反射.. 阅读全文

艾伟_转载:揭示同步块索引(上):从lock开始

2011-08-29 00:21 by 狼人:-), 160 阅读, 0 推荐, 收藏,
摘要:大家都知道引用类型对象除实例字段的开销外,还有两个字段的开销:类型指针和同步块索引(SyncBlockIndex)。同步块索引这个东西比起它的兄弟类型指针更少受人关注,显得有点冷落,其实此兄功力非凡,在CLR里可谓叱咤风云,很多功能都要借助它来实现。 接下来我会用三篇来介绍同步块索引在.NET中的所作所为。 既然本章副标题是从lock开始,那我就举几个lock的示例: 代码1 1: public class Singleton 2: { 3: private static object lockHelper = new object(); ... 阅读全文

艾伟_转载:学习 ASP.NET MVC (第二回)实战篇

2011-08-29 00:21 by 狼人:-), 230 阅读, 0 推荐, 收藏,
摘要:本系列文章导航学习 ASP.NET MVC (第一回)理论篇学习 ASP.NET MVC (第二回)实战篇学习 ASP.NET MVC (第三回)实战篇学习 ASP.NET MVC (第四回)实战篇学习 ASP.NET MVC (第五回)理论篇 上篇简单的了解了ASP.NET MVC的基本概念和基本流程,接下来的几篇将通过简单的实例,来看看如何通过ASP.NET MVC创建应用程序。Demo很简单也很基础,高手绕过。 闲话少说,直接进入正题。首先我们要做的就是安装ASP.NET 1.0。大家可以到CodePlex上下载。 然后我们用VS2008创建新的ASP.NET MVC项目:点击... 阅读全文

艾伟_转载:学习 ASP.NET MVC (第一回)理论篇

2011-08-29 00:21 by 狼人:-), 166 阅读, 0 推荐, 收藏,
摘要:本系列文章导航学习 ASP.NET MVC (第一回)理论篇学习 ASP.NET MVC (第二回)实战篇学习 ASP.NET MVC (第三回)实战篇学习 ASP.NET MVC (第四回)实战篇学习 ASP.NET MVC (第五回)理论篇 MVC三种角色:--Model:用于存储数据的组件--View:根据Model数据进行内容展示的组件--Controller:接受并处理用户指令(操作Model),选择一个View并输出内容。Controller对View进行引用,但是View不知道Controller的存在。Controller和View都是单向引用ModelMVC变种:O... 阅读全文
上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 312 下一页