代码改变世界

艾伟:关于.NET中的循环引用

2011-08-28 23:55 by 狼人:-), 324 阅读, 0 推荐, 收藏,
摘要:在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解。所以在部署项目结构的时候,会遇到“循环引用”这个问题,今天我就遇到了。 其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用。 那么碰到这样的问题,怎么解决呢? 解决方案一: 我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了。 解决方案二: 也可以创建一个类库项目,然后将A,B,C,D,E,F... 阅读全文

艾伟:老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现

2011-08-28 23:55 by 狼人:-), 329 阅读, 0 推荐, 收藏,
摘要:在上一篇文章中,我们通过一些示例谈论了IL与CLR中的一些特性。IL与C#等高级语言的作用类似,主要用于表示程序的逻辑。由于它同样了解太多CLR中的高级特性,因此它在大部分情况下依旧无法展现出比那些高级语言更多的CLR细节。因此,如果您想要通过学习IL来了解CLR,那么这个过程很可能会“事倍功半”。因此,从这个角度来说,老赵并不倾向于学习IL。不过严格说来,即使IL无法看出CLR的细节,也不足以说明“IL无用”——这里说“无用”自然有些夸张。但是,如果我们还发现,那些原本被认为需要通过IL挖掘到的东西,现在都可以使用更好的方法来获得,并且可以起到“事半功倍”的效果,那么似乎我们真的没有太多.. 阅读全文

艾伟:基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计

2011-08-28 23:55 by 狼人:-), 158 阅读, 0 推荐, 收藏,
摘要:第一步:创建一个新的Windows项目 打开VS2005,点击“文件”-->“新建”-->“项目”,在弹出的对话框里,在左边选择“Windows”,在右边选择“Windows应用程序”,并在下面的名称里输入“QuestionnaireSystem”,选择相应的保存位置后,点“确定”,如下图3-1所示: 图3-1 这样一个新的Windows项目就创建好了。 另:为了整个系统的操作需要,我们为项目新建二个文件夹:一个是DataBase[用来存放数据库文件],另一个为Images[用来存放用户所要用到图片资源],创建方法为:右击项目名称,选择“添加”à“新建文件夹”;创建好后, 阅读全文

艾伟:基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现

2011-08-28 23:55 by 狼人:-), 179 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 首先,为了使我们的界面更加便于操作及布局,我们引入第三开源控件DockPanel[当然也可以不引入控件而直接进行开发],你可以从这里:DockPanel控件下载其编译好的DLL文件,也可以从这里:http://sourceforge.ne... 阅读全文

艾伟:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计

2011-08-28 23:55 by 狼人:-), 183 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理。因为本系列文章的目的是在于提高大家对.NET Windows编程的实战能力,故不对需求分析与数据库设计作太多的理论说明,有关这方面的知识请大家自行查阅... 阅读全文

艾伟:表达式树和泛型委托

2011-08-28 23:55 by 狼人:-), 253 阅读, 0 推荐, 收藏,
摘要:什么是表达式树? 表达式树又称为表达式目录树,以数据形式表示语言级代码。所有的数据都存储在树结构中,每个结点表示一个表达式(Expression)。要想手动生成表达式树我们需要引用System.Linq.Expressions 命名空间,最重要的一个类是Expression,它是所有表达式的基类。例如: 1:参数表达式:ParameterExpression,就是一个方法中的参数,例如 search(string key),key可以看成是一个参数表达式。 2:二元表达式:BinaryExpression,例如a+b等。 3:方法调用表达式:MethodCallExpress... 阅读全文

艾伟:[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望

2011-08-28 23:55 by 狼人:-), 189 阅读, 0 推荐, 收藏,
摘要:anytao.net | 《你必须知道的.NET》网站 | Anytao技术博客 发布日期:2009.05.22 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。 /// /// 本文开始,将以《.NET 4.0深入》为主线,开始一段体验.NET 4.0的激动旅程。 /// 总体来说,这是一篇介绍性的文章,不会涉及过多技术细节和研究过程。但是,作为拉开序幕的第一页,本文以提纲挈领的方式展开对.NET 4.0的初次体验。从What’s new的角度,开始我对.NET 4.0新特性的探索之旅。既然是介绍,那么首先给出导航式的链接是必要 阅读全文

艾伟:Web.config配置文件详解

2011-08-28 23:55 by 狼人:-), 224 阅读, 0 推荐, 收藏,
摘要:花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xml version="1.0"?><!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 阅读全文

艾伟:jQuery性能优化指南(2)

2011-08-28 23:55 by 狼人:-), 134 阅读, 0 推荐, 收藏,
摘要:1.对直接的DOM操作进行限制 这里的基本思想是在内存中建立你确实想要的东西,然后更新DOM 。 这并不是一个jQuery最佳实践,但必须进行有效的JavaScript操作 。直接的DOM操作速度很慢。 例如,你想动态的创建一组列表元素,千万不要这样做,如下所示: var top_100_list = [...], // 假设这里是100个独一无二的字符串 $mylist = $("#mylist"); // jQuery 选择到 <ul> 元素 for (var i=0, l=top_100_list.length; i<l; i++){ $mylist 阅读全文

艾伟:也谈实体验证(Entity Validation)

2011-08-28 23:55 by 狼人:-), 244 阅读, 0 推荐, 收藏,
摘要:环境: Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0 ------------------------------------------------------------------------------ 今晚喝茶看片之时,脑子里忽然闪过一个念头,于是打开VS简单的做了一个实现,于是有了本文...是关于实体验证的,嗯,从头开始说吧。 一. 可能是最原始的验证代码 为了让问题尽量简单,我们就拿一个简单得不能再简单的User类开刀吧。 现在我们要在User类里面加一个方法用于验证User实例的合法性,相信很多人写过如下类似的代码: Check()方.. 阅读全文

艾伟:Chart Controls 简介与下载点

2011-08-28 23:55 by 狼人:-), 150 阅读, 0 推荐, 收藏,
摘要:虽然博客园已有人介绍过了,还是忍不住介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」。本帖并提供相关软件、文件、官方示例的下载点。 微软在收购了 Dundas 这家优秀的图表组件公司后,日前释出了功能相当强大,而且完全免费的图表组件,名为「Microsoft Chart Controls for Microsoft .NET Framework 3.5」。 过去要在 ASP.NET 或 Windows Form 中绘制图表,可能要花钱买其它公司的组件,或用微软的绘图函式库自己撰... 阅读全文

艾伟:C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

2011-08-28 23:55 by 狼人:-), 228 阅读, 0 推荐, 收藏,
摘要:1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个接口 PS: 接口除了规范一个行为之外,在具体项目中的实际作用也是十分重要的,在面向对象的设计原则以及设计模式的使用中,无不体现作为一个接口的使用好处,最直接 的就是设计 原则中OCP(开放封闭原则),我们使用接口,而不需要关 阅读全文

艾伟:C#3.0之自动属性和对象初始化器

2011-08-28 23:55 by 狼人:-), 177 阅读, 0 推荐, 收藏,
摘要:C#3.0中定义属性更加方便,不用再在像之前的版本那样的繁琐,需要先定义存储数据的字段,然后再定义属性器,现在只需要定义属性器就可以了,其它的有编译器自动为我们完成,就可以省去定义字段时需要的那些时间;在对象初始化的时候我们可在对象构造的时候实现对象属性的初始化工作,和集合初始化类似。 1.匿名属性 定义属性如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Employee { pu... 阅读全文

艾伟:用 C# 实现带键值的优先队列

2011-08-28 23:55 by 狼人:-), 283 阅读, 0 推荐, 收藏,
摘要:在上一篇随笔 Timus 1037. Memory management 的“进一步的讨论”小节中,我提到: 这个程序中使用 KeyedPriorityQueue 来存储已分配的“内存块”,使用 PriorityQueue 来存储尚未分配的“自由块”。这两个优先队列的算法是一样的,可以想办法合并。这将在下一篇随笔中讨论。 现在,就开始行动吧。 首先,需要一个接口,用来获取键以及获取和设置值,如下所示: namespace Skyiv.Util { interface IKeyValue { K GetKey(T x); V GetValue(T x); voi... 阅读全文

艾伟:HTML重构:战略篇

2011-08-28 23:55 by 狼人:-), 130 阅读, 0 推荐, 收藏,
摘要:《Refactoring HTML: Improving the Design of Existing Web Applications》是一本精彩的HTML重构指南,作者给出了HTML重构的实践路线和方法。本文是《Refactoring HTML》的读书笔记,按照我的理解将全书的分为:战略篇,战术篇,工具篇。 本文是战略篇:全局方略的角度介绍重构的内涵,原因,时机,目标 嗯哼,我们开始: 进行重构就像打一场仗,而战争的发起是要慎重考虑的,《孙子兵法》里面讲“兵者,国之大事,死生之地,存亡之道,不可不察也。”所以动手重构之前首先要回答下面几个问题: 什么是重构? 为什么进行H... 阅读全文
上一页 1 ··· 293 294 295 296 297 298 299 300 301 ··· 312 下一页