- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 .Net Framework 3.x 快速入门(1)(书稿特递)
本书的内容结构本书是一本关于 .NET Framework 3.0的实例教程,对 .NET Framework3.0的内容穿插在每个实例的演练过程中,主要目的是让读者在极短的时间内快速掌握 .NET Framework3.0的基本概念,并能够立即在实际的项目中使用。本书共分三个部分,每一个部分都是相对独立的,读者可以从任意一个部分开始阅读。这三个部分是:第一部分:Windows Pre
2009-05-03 18:16:00
4722
原创 .Net Framework3.0 实践纪实(4)
.Net Framework3.0 实践纪实(4) 可视对象和棋子任务1.6的实现和画棋纵横线没有很大的差别,设置好字体、要显示的坐标的文字,然后调用DrawingContext的DrawText方法在指定的位置画出对象即可。为了满足任务中的要求,我们设置一个开关字段和对应的属性,代码如下: public partial class BoardControl : Canva
2006-08-13 21:39:00
4113
1
原创 .Net Framework3.0 实践纪实(3)
.Net Framework3.0 实践纪实(3)图形和背景任务1.3画出棋盘上的星。要完成这个任务,一个关键的地方就是确定星在不同大小的棋盘上的数量和位置。其实TopGo对棋盘的做了限制,那就是小于9*9或者大于19*19的棋盘不被支持。在星的数量确定上,我们考虑到如果是偶数的棋盘,那么没有唯一的中心点(像19*19的中央的那个叫做“天元”的星),在这种情况下,我们仅仅设置
2006-08-11 08:41:00
5726
原创 .Net Framework3.0 实践纪实(2)
用户控件——棋盘 显示棋盘可能想上去并不太难,首先使用一个Canvas(画布)控件,然后在上面画上我们需要的水平和垂直线条,它们的Xaml代码如下:… //交换X1 Y1 和X2 Y2的值将画出19道平行的垂直线,代码略编译确认你没有错误,然后运行程序。你将看到一个棋盘出现在窗体的右
2006-08-11 00:19:00
5272
原创 .Net Framework3.0 实践纪实(1)
.Net Framework3.0 实践纪实(1) 引子刚刚完成了TopGo程序的第一个版本,朋友们建议将此程序的开发过程共享。我也有此想法,唯恐自己能力有限,辜负了朋友们的期望。最后我还是决定把它写出来,作为大家闲来无事时讨论的话题也未尝不可,同时我也真诚地希望各位同好们提出批评和建议。TopGo是一款使用.Net Framework3.0(WinFx) 编写的计算机围棋软件(由于本
2006-08-10 00:15:00
9052
2
原创 .Net Framework3.0 实践
.Net Framework3.0 实践 前不久用.Net Framework3.0( WinFx)写了一个围棋程序,准备陆续把这一过程中的体会让朋友们一起分享。下面是这个程序的界面贴图(WPF).图一:棋谱分析模式图二:对局设置图三:网络对弈模式
2006-08-08 18:39:00
6307
2
原创 ObjectBuilder技术内幕(五)
ObjectBuilder技术内幕之五创建器从前面的论述中,我们看到一个对象的创建过程十分复杂和繁琐,远不是一个new那么简单,涉及到许多对象,创建器上下文、策略、方针等等等等。但由于采用了良好的设计模式,是这些众多的对象协同工作次序井然。创建器采用创建者设计模式,把一系列对象的创建工作加以封装,使调用者只要对其进行配置,然后调用BuildUp就可以得到最后的产品(要创建的对象),或者调用Tear
2006-01-02 01:34:00
8519
4
原创 ObjectBuilder技术内幕(四)
ObjectBuilder技术内幕之四随着故事线索的发展,我们慢慢接近了OB的核心场景,这个场景的主角就是一个个安插在责任链上的BuiderStrategy家族成员以及和与它们相关的BuilderPolicy。在阅读代码的时候,这两组类需要相互参照,为了便于理解,我们先看看OB的缺省情况下的对象创建过程,这可以从Builder类的一个参数构造器开始,我们把Builder类的详细介绍放到最后,这样更
2006-01-01 22:20:00
9397
原创 ObjectBuilder技术内幕(三)
ObjectBuilder技术内幕之三依赖注入模式阅读了许多代码是不是感觉有点累?让我们稍稍偏离一下故事主线,轻松一下。本节我们简单的介绍一下近年来十分流行的依赖注入模式。其实我们对依赖注入并不陌生,你一直都在不自觉地使用它,无论是ASP.NET还是WinForm的应用,都要用到System.ComponentModel命名空间中的类,如果你比较细心或者你设计过定制控件,你一定注意到ICompon
2006-01-01 14:54:00
8989
原创 ObjectBuilder技术内幕(二)
ObjectBuilder技术内幕之二策略和方针有了定位器,就要涉及到对象的创建问题了。在BO中对象的创建时根据所定义的对象策略并划分不同的阶段来进行。对象的阶段定义使用一个枚举类型,定义如下: public enum BuilderStage{ //预创建阶段 PreCreation, //创建阶段 Creation, //对
2006-01-01 01:35:00
11149
3
原创 ObjectBuilder技术内幕(一)
ObjectBuilder技术内幕之一 如果你使用过Enterprise Library 2.0 CTP或者使用过Composite UI Application Block,你一定发现它们中间包含了一个ObjectBuilder的程序集。如果你还不知道它是什么、做什么用、它的内部如何实现的话,那么现在就来听听ObjectBuilder(以下简称OB)讲述它的故事吧。OB顾名思义就是对象创建器,它
2005-12-31 11:17:00
14388
5
原创 岁首的话
我非常喜欢编写代码,也喜欢看代码。看过的代码有好的代码,也有坏的代码,一段好的代码就像是一首优美的诗,让你回味无穷;相反,一段坏的代码会让你感觉自己正坐在垃圾堆上,不过至少也让时时的告诫自己,决不要写出那种臭飘万里的代码。代码具有灵性,你的代码的灵性就是你赋予它的。代码会说话,它会把你的个性表达的淋漓尽致,或晦涩或鲜明,或细腻有加或粗心大意。冰冻千尺,非一日之寒。写好的代码,不断的磨练自己。新年将
2005-12-29 18:05:00
3611
原创 WPF体验(5)
动画WPF可以在代码中编写动画的行为,也可以在XAML中编写,我们这里只介绍XAML中的动画效果。在XAML中动画是通过叫做故事版的元属来描述,你可以设置界面元素的属性变化来产生动画的效果,这些属性可以是颜色、透明度、位置、大小尺寸等。动画的类型有ColorAnimation、DoubleAnimation、PointAnimation等。它们通过一个TimeLine的对象来实现动画效果,下面是
2005-12-13 04:41:00
12326
6
原创 WPF体验(4)
图形 图形无疑是当代应用程序界面最重要的功能,君不见那些控件不管是很cool的还是不cool的都要使用几何图形来显示。大家知道,图形分成两大类:位图和矢量图。有意思的是在界面设计上网页以位图居多,Windows桌面应用则是矢量图居多。究其原因,并不难理解,因为网页大部分的控件尺寸都是固定的,是用位图不会对界面带来太大的影响,而桌面应用中的窗体大小大多数都是可变的,所以矢量图更适合。在XAML中你
2005-12-12 09:25:00
11305
2
原创 WPF体验(3)
样式 样式类似于Html中的CSS,如果你的界面有许多元素(例如按钮)的外观有相同的属性,那么可以把这些属性集中到一个称为资源的元素中,之后每个元素可以通过引用相应的资源来达到外观一致性的目的。下面的Xaml演示了上述的效果: xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"> Se
2005-12-11 06:13:00
6606
原创 WPF体验(2)
布局 上一次我们简单介绍了XAML的写法,这一次,我们着重介绍XAML中界面的布局。同ASP.NET的Table类似,Grid也可以用来布局,下面的XAML显示了2*2的网格: xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"> 虽然Grid可以用于布局,但是我们需要一种更灵活一点的布局方法,那就是采用面板,下面的代码演示了一种网页式的
2005-12-10 19:11:00
7576
原创 WPF体验
时下作为WinFx的三大支柱(WPF, WCF, WWF)的WPF还没有有效的界面设计器。虽然习惯了可视化设计的人来说不方便,但是个人认为这是为你今后打下WPF编程的良好契机,为什么这样说呢?原因很简单,因为没有界面设计器,你需要手工编写XAML和许多CodeBehind代码,如果不了解它们的话,估计你什么都做不了。 从PDC05到WinFx文档中的Sample以及网络上可以搜到文
2005-12-10 06:20:00
13910
3
原创 Goodbye VS2003, Hello VS2005!
前面的话Visual Studiu 2005从去年的beta1到目前的RC历时一年多,再过一个月终于要面世了。长久期待的心情此时反而平静了些许。因为我知道更酷的事情还在正式版发布之后。.NET的风雨五年(如果没有说错的话),也终于脱胎换骨。一个欣喜的发现是论坛中少了许多口水战。也不知道多少后浪推前浪,多少哥们在成长,哈。其实,有许多话要说,可是此刻我只想说:告别VS2003,要换新车了!
2005-10-06 05:00:00
2915
1
原创 一种很Cool的语言
MS研究院释放了一种新的语言 Cω, 为了校正读音,他们还在网页上设置了语音功能。(读C omega)。Comega扩展了C#语言,在半结构层次数据和关系数据以及CTS之间实现无缝的连接,同时对复杂的多线程编程以及网络应用提供了内建的语言支持,使之更容易和简单。Comega真的很Cool,虽然MS声明没有计划把它作为一种商业化语言,也没有计划把它集成到.NET中,但是许多开发者要求能够在C
2004-08-05 19:01:00
5156
原创 C#中的正则表达式(1)
C#中的正则表达式 Jeffrey E.F. Friedl写了一本关于正则表达式的书《精通正则表达式》。作者为了使读者更好的理解和掌握正则表达式,编造了一个故事。该书的语言以perl为主。据我所知C#中的正则表达式也是基于perl5。所以它们应该有许多的共同之处。 其实,我并不打算原封不动的对该书的内容进行翻译,一则这本书内容太多了,我根本就不胜任翻译这项工作;二则如果我真的把这本书翻译过
2004-07-09 18:58:00
4027
4
原创 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
2068
2
原创 AOP C#在行动(续1)
今天开始考虑AOP的C#实现,对于静态的Weavor方法迷惑中。在源代码级别的编织是采用像AspectJ那样做呢,还是另辟蹊径?一开始就要让我头痛了。 AspectJ的方式是:对源代码进行解析,然后在加入点(JoinPoint)插入Aspcet的代码,形成中间文件,再编译成最终文件。这种方法产生的性能比较好,有一个缺陷就是如果修改了weaving的规则,就要重新编译。(或许可以采用某些设计模式来消
2004-07-06 01:14:00
2159
原创 AOP C#在行动
看过一本书,题目是《AscpectJ in Action》,正好这一段手上的项目搞一段落,所以有一点点空暇,决定写一些东西。 AOP是Aspect-Oriented Programming的简写。曾经为这个Aspect的中文翻译伤透了脑筋,还有一个相似的AOP,那是Attribute-Oriented Programming,于是,有人译作面向方面编程,后者则是面向特性编程。面向特性编程可以说得过
2004-07-04 17:58:00
2806
原创 Attribute在.NET编程的应用(六)
Attribute在.NET编程的应用(六)(承上节) .NET Framework拦截机制的设计中,在客户端和对象之间,存在着多种消息接收器,这些消息接收器组成一个链表,客户端的调用对象的过程以及调用返回实行拦截,你可以定制自己的消息接收器,把它们插入了到链表中,来完成你对一个调用的前处理和后处理。那么调用拦截是如何构架或者说如何实现的呢?在.NET中有两种调用,一种是跨应用域(App
2003-07-16 08:15:00
5403
11
原创 Attribute在.NET编程中的应用(五)
Attribute在.NET编程中的应用(五)Attribute在拦截机制上的应用从这一节开始我们讨论Attribute的高级应用,为此我准备了一个实际的例子:我们有一个订单处理系统,当一份订单提交的时候,系统检查库存,如果库存存量满足订单的数量,系统记录订单处理记录,然后更新库存,如果库存存量低于订单的数量,系统做相应的记录,同时向库存管理员发送邮件。为了方便演示,我们对例子进行了简化:
2003-07-15 07:21:00
5814
原创 Attribute在.net编程中的应用(一)
Attribute在.net编程中的应用(一)Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。在具体的演示之前,我想先大致介绍一下Attribut
2003-07-11 17:34:00
8358
7
原创 Attribute 在.NET编程中的应用(二)
Attribute在.net编程中的应用(二).NET Framework中对Attribute的支持是一个全新的功能,这种支持来自它的Attribute类。在你的程序中适当地使用这个类,或者是灵活巧妙地利用这个类,将使你的程序获得某种在以往编程中很难做到的能力。我们来看一个例子:假如你是一个项目开发小组中的成员,你想要跟踪项目代码检查的信息,通常你可以把代码的检查信息保存在数据库中以便查询;
2003-07-11 17:34:00
6054
10
原创 Attribute在.NET编程中的应用(三)
Attribute在.NET编程中的应用(三)用于参数的Attribute 在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_SQL代码,这些代码往往需要传递各种参数,有的参数个数比较多,一不小心还容易写错。有没有一种一劳永逸的方法?当然,你可以使用MS的Data Access Application Block,也
2003-07-11 17:32:00
5675
3
原创 Attribute在.NET编程中的应用(四)
Attribute在.NET编程中的应用(四)SqlCommandGenerator类的设计 SqlCommandGEnerator类的设计思路就是通过反射得到方法的参数,使用被SqlCommandParameterAttribute标记的参数来装配一个Command实例。 引用的命名空间://SqlCommandGenerator.csusing System;using
2003-07-11 17:32:00
4950
6
原创 从C#的Singleton设计模式实现看.NET Framework特性对开发者的重要性
从C#的Singleton设计模式实现看.NET Framework特性对开发者的重要性 近来,我在学习如何在C#语言中使用设计模式中读到一些资料,其中有关Singleton设计模式引起了我的注意。学过设计模式的开发者都知道Singleton模式。我想简要地解释一下这个设计模式是为那些尚未学习过设计模式的朋友。Singleton设计模式是告诉您如何在你的应用程序创建一个唯一类示
2002-06-19 09:03:00
2799
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人