
NET
文章平均质量分 73
niwalker
这个作者很懒,什么都没留下…
展开
-
XP的C#编程
今天看了《C# 极限编程历险》一书,确实是一本好书。原创 2004-06-28 08:53:00 · 1943 阅读 · 0 评论 -
.Net Framework3.0 实践纪实(3)
.Net Framework3.0 实践纪实(3)图形和背景任务1.3画出棋盘上的星。要完成这个任务,一个关键的地方就是确定星在不同大小的棋盘上的数量和位置。其实TopGo对棋盘的做了限制,那就是小于9*9或者大于19*19的棋盘不被支持。在星的数量确定上,我们考虑到如果是偶数的棋盘,那么没有唯一的中心点(像19*19的中央的那个叫做“天元”的星),在这种情况下,我们仅仅设置原创 2006-08-11 08:41:00 · 5760 阅读 · 0 评论 -
.Net Framework3.0 实践纪实(1)
.Net Framework3.0 实践纪实(1) 引子刚刚完成了TopGo程序的第一个版本,朋友们建议将此程序的开发过程共享。我也有此想法,唯恐自己能力有限,辜负了朋友们的期望。最后我还是决定把它写出来,作为大家闲来无事时讨论的话题也未尝不可,同时我也真诚地希望各位同好们提出批评和建议。TopGo是一款使用.Net Framework3.0(WinFx) 编写的计算机围棋软件(由于本原创 2006-08-10 00:15:00 · 9093 阅读 · 2 评论 -
ObjectBuilder技术内幕(三)
ObjectBuilder技术内幕之三依赖注入模式阅读了许多代码是不是感觉有点累?让我们稍稍偏离一下故事主线,轻松一下。本节我们简单的介绍一下近年来十分流行的依赖注入模式。其实我们对依赖注入并不陌生,你一直都在不自觉地使用它,无论是ASP.NET还是WinForm的应用,都要用到System.ComponentModel命名空间中的类,如果你比较细心或者你设计过定制控件,你一定注意到ICompon原创 2006-01-01 14:54:00 · 9035 阅读 · 0 评论 -
ObjectBuilder技术内幕(五)
ObjectBuilder技术内幕之五创建器从前面的论述中,我们看到一个对象的创建过程十分复杂和繁琐,远不是一个new那么简单,涉及到许多对象,创建器上下文、策略、方针等等等等。但由于采用了良好的设计模式,是这些众多的对象协同工作次序井然。创建器采用创建者设计模式,把一系列对象的创建工作加以封装,使调用者只要对其进行配置,然后调用BuildUp就可以得到最后的产品(要创建的对象),或者调用Tear原创 2006-01-02 01:34:00 · 8580 阅读 · 4 评论 -
ObjectBuilder技术内幕(四)
ObjectBuilder技术内幕之四随着故事线索的发展,我们慢慢接近了OB的核心场景,这个场景的主角就是一个个安插在责任链上的BuiderStrategy家族成员以及和与它们相关的BuilderPolicy。在阅读代码的时候,这两组类需要相互参照,为了便于理解,我们先看看OB的缺省情况下的对象创建过程,这可以从Builder类的一个参数构造器开始,我们把Builder类的详细介绍放到最后,这样更原创 2006-01-01 22:20:00 · 9458 阅读 · 0 评论 -
ObjectBuilder技术内幕(二)
ObjectBuilder技术内幕之二策略和方针有了定位器,就要涉及到对象的创建问题了。在BO中对象的创建时根据所定义的对象策略并划分不同的阶段来进行。对象的阶段定义使用一个枚举类型,定义如下: public enum BuilderStage{ //预创建阶段 PreCreation, //创建阶段 Creation, //对原创 2006-01-01 01:35:00 · 11210 阅读 · 3 评论 -
ObjectBuilder技术内幕(一)
ObjectBuilder技术内幕之一 如果你使用过Enterprise Library 2.0 CTP或者使用过Composite UI Application Block,你一定发现它们中间包含了一个ObjectBuilder的程序集。如果你还不知道它是什么、做什么用、它的内部如何实现的话,那么现在就来听听ObjectBuilder(以下简称OB)讲述它的故事吧。OB顾名思义就是对象创建器,它原创 2005-12-31 11:17:00 · 14460 阅读 · 5 评论 -
岁首的话
我非常喜欢编写代码,也喜欢看代码。看过的代码有好的代码,也有坏的代码,一段好的代码就像是一首优美的诗,让你回味无穷;相反,一段坏的代码会让你感觉自己正坐在垃圾堆上,不过至少也让时时的告诫自己,决不要写出那种臭飘万里的代码。代码具有灵性,你的代码的灵性就是你赋予它的。代码会说话,它会把你的个性表达的淋漓尽致,或晦涩或鲜明,或细腻有加或粗心大意。冰冻千尺,非一日之寒。写好的代码,不断的磨练自己。新年将原创 2005-12-29 18:05:00 · 3636 阅读 · 0 评论 -
WPF体验(4)
图形 图形无疑是当代应用程序界面最重要的功能,君不见那些控件不管是很cool的还是不cool的都要使用几何图形来显示。大家知道,图形分成两大类:位图和矢量图。有意思的是在界面设计上网页以位图居多,Windows桌面应用则是矢量图居多。究其原因,并不难理解,因为网页大部分的控件尺寸都是固定的,是用位图不会对界面带来太大的影响,而桌面应用中的窗体大小大多数都是可变的,所以矢量图更适合。在XAML中你原创 2005-12-12 09:25:00 · 11357 阅读 · 2 评论 -
WPF体验(3)
样式 样式类似于Html中的CSS,如果你的界面有许多元素(例如按钮)的外观有相同的属性,那么可以把这些属性集中到一个称为资源的元素中,之后每个元素可以通过引用相应的资源来达到外观一致性的目的。下面的Xaml演示了上述的效果: xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"> Se原创 2005-12-11 06:13:00 · 6666 阅读 · 0 评论 -
WPF体验
时下作为WinFx的三大支柱(WPF, WCF, WWF)的WPF还没有有效的界面设计器。虽然习惯了可视化设计的人来说不方便,但是个人认为这是为你今后打下WPF编程的良好契机,为什么这样说呢?原因很简单,因为没有界面设计器,你需要手工编写XAML和许多CodeBehind代码,如果不了解它们的话,估计你什么都做不了。 从PDC05到WinFx文档中的Sample以及网络上可以搜到文原创 2005-12-10 06:20:00 · 13963 阅读 · 3 评论 -
Goodbye VS2003, Hello VS2005!
前面的话Visual Studiu 2005从去年的beta1到目前的RC历时一年多,再过一个月终于要面世了。长久期待的心情此时反而平静了些许。因为我知道更酷的事情还在正式版发布之后。.NET的风雨五年(如果没有说错的话),也终于脱胎换骨。一个欣喜的发现是论坛中少了许多口水战。也不知道多少后浪推前浪,多少哥们在成长,哈。其实,有许多话要说,可是此刻我只想说:告别VS2003,要换新车了!原创 2005-10-06 05:00:00 · 2947 阅读 · 1 评论 -
C#中的正则表达式(1)
C#中的正则表达式 Jeffrey E.F. Friedl写了一本关于正则表达式的书《精通正则表达式》。作者为了使读者更好的理解和掌握正则表达式,编造了一个故事。该书的语言以perl为主。据我所知C#中的正则表达式也是基于perl5。所以它们应该有许多的共同之处。 其实,我并不打算原封不动的对该书的内容进行翻译,一则这本书内容太多了,我根本就不胜任翻译这项工作;二则如果我真的把这本书翻译过原创 2004-07-09 18:58:00 · 4079 阅读 · 4 评论 -
AOP C#在行动
看过一本书,题目是《AscpectJ in Action》,正好这一段手上的项目搞一段落,所以有一点点空暇,决定写一些东西。 AOP是Aspect-Oriented Programming的简写。曾经为这个Aspect的中文翻译伤透了脑筋,还有一个相似的AOP,那是Attribute-Oriented Programming,于是,有人译作面向方面编程,后者则是面向特性编程。面向特性编程可以说得过原创 2004-07-04 17:58:00 · 2845 阅读 · 0 评论 -
一种很Cool的语言
MS研究院释放了一种新的语言 Cω, 为了校正读音,他们还在网页上设置了语音功能。(读C omega)。Comega扩展了C#语言,在半结构层次数据和关系数据以及CTS之间实现无缝的连接,同时对复杂的多线程编程以及网络应用提供了内建的语言支持,使之更容易和简单。Comega真的很Cool,虽然MS声明没有计划把它作为一种商业化语言,也没有计划把它集成到.NET中,但是许多开发者要求能够在C原创 2004-08-05 19:01:00 · 5192 阅读 · 0 评论 -
AOP C#在行动(续2)
今天开始写Paser了,不过是从SharpDevelop借过来而已(不想重新发明轮子,^_^)。但是,还是对原先的代码作了一些修改,即使到了RC2了,SharpDevelop的代码中还是存在问题。今天看代码是就发现了两处。比如下面的代码: static public int Compare(IList a, IList b, IComparer comparer) { if (a =原创 2004-07-06 23:48:00 · 2098 阅读 · 2 评论 -
AOP C#在行动(续1)
今天开始考虑AOP的C#实现,对于静态的Weavor方法迷惑中。在源代码级别的编织是采用像AspectJ那样做呢,还是另辟蹊径?一开始就要让我头痛了。 AspectJ的方式是:对源代码进行解析,然后在加入点(JoinPoint)插入Aspcet的代码,形成中间文件,再编译成最终文件。这种方法产生的性能比较好,有一个缺陷就是如果修改了weaving的规则,就要重新编译。(或许可以采用某些设计模式来消原创 2004-07-06 01:14:00 · 2184 阅读 · 0 评论