摘要: 本文中,作者 Anand Joshi 使用 JSF 框架中的设计模式阐释了 JavaServer™ Faces (JSF) 体系结构。他讨论了 JSF 体系结构中使用的 GoF 设计模式,以及这些模式在 JSF 框架中的作用。任何对设计模式和 JSF 体系结构有一定了解的人都能从 Anand 详细的介绍中有所收获。*读者应该对 GoF 设计模式和 JSF 技术有很好的了解。设计模式可以帮助用户在更高层次上抽象细节,更好地理解体系结构。如果比较熟悉 GoF 设计模式和 JavaServer Faces (JSF) 框架,本文可以帮助您洞察 JSF 框架中使用的设计模式,深入理解其工作原理。本文探 阅读全文
posted @ 2007-11-02 16:45 周金桥 阅读(232) 评论(0) 推荐(0)
摘要: 设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性。也正是由于这个原因,会导致我们可能过度的使用它。程序结构具有过度的、不必要的灵活性和程序结构没有灵活性一样都是有害的。本文将分析过度的灵活性可能造成的危害,并且结合一些实例来阐述使用设计模式改善程序结构应遵循的原则。1、 介绍本系列文章的前两篇主要讲述了如何使用设计模式来改善我们的程序结构,大家可以看到经过调整的代码具有了更大的弹性,更容易适应变化。读者朋友可能也具有类似的经验,通过使用设计模式使得自己的软件系统更加具有可扩展性和健壮性。但是,这样就可能会造成一个结果:无论遇到任何问题,我们首先做的就是设法找到一个解决它的设 阅读全文
posted @ 2007-11-02 16:39 周金桥 阅读(147) 评论(0) 推荐(0)
摘要: 1、 回顾在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介绍了设计模式的意图、动机在我们程序重构过程中的指导作用。现在,我们将关注设计模式的另一个重要方面:设计模式的适用性。解决同一个问题一般会有多种方案或者模式,但是这些模式所关注的是同一个问题的不同方面,解决不同的需求,有各自的优点和限制,各有各的解决之道。这就要求我们在选择设计模式时,对我们自己的问题有很好的理解:我们的需求是什么,我们要克服什么样的限制,我们要获得什么样的特性等等。然后,可以看看我们想使用的解决问题的设计模式是否适用于我们的问题,如果不适用,是否可以使用其他的模式来弥补,是否可以对这个设计模式进行改 阅读全文
posted @ 2007-11-02 16:32 周金桥 阅读(148) 评论(0) 推荐(0)
摘要: 设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计,最终将会导出一个优秀的解决方案。1、介绍在进行项目的开发活动中,有一些设计在项目刚刚开始工作的很好,但是随着项目的进展,发现需要对已有的代码进行修改或者扩展,导致这样做的原因主要有:新的功能需求的需 阅读全文
posted @ 2007-11-02 16:24 周金桥 阅读(199) 评论(0) 推荐(0)
摘要: 有了前面诸多设计模式的基础,这儿可以提出一个比较特殊的模式MVC。MVC并不属于GOF的23个设计模式之列,但是它在GOF的书中作为一个重要的例子被提出来,并给予了很高的评价。一般的来讲,我们认为GOF的23个模式是一些中级的模式,在它下面还可以抽象出一些更为一般的低层的模式,在其上也可以通过组合来得到一些高级的模式。MVC就可以看作是一些模式进行组合之后的结果(实际上,MVC的出现要早于设计模式的提出,这而只是对它在设计模式的基础上进行在分析)。如果没有前面的基础,理解MVC或许会有一些困难。MVC模式MVC模式比较的特别,它含义比较的广,涉及的层面也不仅仅是设计这一块,不好简单的把它归为设 阅读全文
posted @ 2007-11-02 16:11 周金桥 阅读(249) 评论(0) 推荐(0)
摘要: 在上一部分中,介绍了两个结构型的模式:Bridge和Decorator。这一部分的内容,将会接着上面的讲解,继续我们的设计模式之旅。这一部分,除了还会介绍一个结构型的Composite模式之外,还会有两个行为模式登场。实际上在前面的内容中,我们已经接触到行为模式了:Observer和Command就是两个典型的行为模式。行为模式更多的注重于算法和对象建间职责的分配,也就是说,它会更多的关注于这个模式系统之类的各对象协作间的语义,以及在对象间进行通讯的流控制。Composite模式毫无疑问的,AWT中的Component-Container体系就是一个很好的Composite模式的例子。Cont 阅读全文
posted @ 2007-11-02 16:09 周金桥 阅读(208) 评论(0) 推荐(0)
摘要: 上一次主要介绍了几个创建型的设计模式AbstractFactroy,FactoryMethod和Singliton。它们的共同的特点,都是用来创建对象的。这次接下来的内容,涉及到的是几个结构型的模式。所谓结构型模式,就是用来解决在创建系统结构的过程中,通过对类或者对象进行合理有效的组合,以获得更大的结构的方法。这儿主要讲到了Bridge模式和Decorator模式。对于Bridge模式可能需要更多的理解,因为它在很大程度上说,例示了设计模式的基本的设计思路和原则。Bridge模式当初Java刚刚推出来的时候,AWT可是一个比较热的话题,虽然现在有被Swing取代的趋势。但是我一直都觉得AWT也 阅读全文
posted @ 2007-11-02 15:58 周金桥 阅读(276) 评论(0) 推荐(0)
摘要: 在上一部分的内容中,我们讲到什么是模式,什么是设计模式,以及对一个设计模式Observer的详细阐叙。相信大家对于模式的概念应该是比较的理解了。这部分及以后的内容,将会步入正题,从Java类库的分析入手,来阐叙设计模式是如何应用到一个完美的设计中的。实际上,Java类库非常的庞杂,这儿不可能把所有能够找到的设计模式的例子一一列举,只是找了一些容易发现的例子。实际上也没有必要,因为只要对一个设计模式有足够的理解,对于它的具体应用而言,倒是一件不是很困难的事情。Command模式在设计一般用途的软件的时候,在C或者C++语言中,用的很多的一个技巧就是回调函数(Callback),所谓的回调函数,意 阅读全文
posted @ 2007-11-02 15:49 周金桥 阅读(198) 评论(0) 推荐(0)
摘要: 很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的。好的经验给我们以指导,并节约我们的时间;坏的经验则给我们以借鉴,可以减少失败的风险。然而,从知识层面上来讲,经验只是作为一种工作的积累而存在于个人的大脑中的,很难被传授或者记录。为了解决这样的问题,人们提出了所谓的模式的概念。所谓模式,是指在一个特定背景下,反复出现的问题解决方案。模式是经验的文档化。软件模式的概念现在比较的广泛,涉及到分析,设计,体系结构,编码,测试,重构等软件构造生命期中的各个部分。这儿主要讨论的是设计模式,指的是在软件设计过程中反复出现的一些问题的解决方法了。不过我们一般在提到设计模式的 阅读全文
posted @ 2007-11-02 15:40 周金桥 阅读(294) 评论(0) 推荐(0)
摘要: 基本概念FactoryMethod是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到Factory Method 模式了.简单说来,Factory Method可以根据不同的条件产生不同的实例,当然这些不同的实例通常是属于相同的类型,具有共同的父类.Factory Method把创建这些实例的具体过程封装起来了,简化了客户端的应用,也改善了程序的扩展性,使得将来可以做最小的改动就可以加入新的待创建的类. 通常我们将Factory Method作为一种标准的创建对象的方法,当发 阅读全文
posted @ 2007-11-02 14:43 周金桥 阅读(160) 评论(0) 推荐(0)
摘要: 虽然大部分时间一直从事asp.net的开发,对于一些常用的asp.net服务器端验证控件及它们的组合使用比较熟悉,如:CompareValidator ——比较验证控件RangeValidator ——范围验证控件RegularExpressionValidator ——正则验证控件RequiredFieldValidator ——必填验证控件但是一直没去研究CustomValidator控件的用法,心中自然也有一种想法:好不容易从写js验证的痛苦中摆脱出来,如今是能不回去就不要回去了,但是有时候又会遇到一些用上面提到的验证控件没有办法做到的情况(当然是指在客户端没办法做到,我要是说在服务器端 阅读全文
posted @ 2007-10-30 16:26 周金桥 阅读(342) 评论(0) 推荐(0)
摘要: 技术就好像一片汪洋大海,越深入越望不到边际。就拿自己的体验来说吧,2000年的时候在学校搞ASP,觉得网页开发就是这么简单,把数据库中的数据格式化一下显示在页面上,把用户的输入组装成添加删除和修改的SQL提交到数据库中去。几年后的今天,我对自己了解或听说过的ASP.NET相关(注意:仅仅是ASP.NET或者说网站制作相关)技术列了一下: 在这些语言、技术、工具、理念中,每一项都能扩展出很多还要细化的技术,每一项要达到熟悉的程度可能都会花去一年的时间,如果这些都要达到熟悉的话,大概也就快退休了。不但如此,每一个技术都在飞速发展,今年语言到了明年就有更简单的语法,今年的技术到了明年就有更好的技术. 阅读全文
posted @ 2007-10-30 15:46 周金桥 阅读(110) 评论(0) 推荐(0)
摘要: 在编程中经常遇到一些类似的问题,比如做一个双色球选号软件,其中6个双色球是从1到33之间选出6个数来,这6个数是不能重复的,这个问题就是我们今天要说的生成不重复数算法。算法描述如下:从M个数中选出N个数来(0<N<=M),要求N个数之间不能有重复。这个问题我以前用J2SE实现过,使用了ArrayList,每次随机在指定范围内选定一个数,然后查看结果集合中是否存在该数,如果存在继续下一轮循环,如果不存在,就将该数保存到结果集合中去。使用这种算法虽然也能实现要求,缺点是判断结果集合中是否存在该数时,需要通过一个循环来判断,这会增加算法运行的时间,虽然时间复杂度为n,但多次重复,还是一笔 阅读全文
posted @ 2007-10-24 19:35 周金桥 阅读(343) 评论(0) 推荐(0)
摘要: Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。Power Designer的4种模型:概念数据模型 (CDM)物理数据模型 (PDM) 面向对象模型 (OOM) 业务程序模型 (BPM) 我主要介绍一下PDM:PDM 叙述数据库的物理实现,帮助你考虑真实的物理实现的细节。你能通过修正PDM来适合你的表现或物理约束。主要目的是. 阅读全文
posted @ 2007-10-22 19:01 周金桥 阅读(240) 评论(0) 推荐(0)
摘要: 在WinForm中经常遇到一些费时的操作界面,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成“假死”的情况,或者报“线程间操作无效”的异常,为了解决这个问题,可以使用委托来处理,在.net2.0中还可以用BackgroundWorker类。BackgroundWorker类是.net 2.0里新增加的一个类,对于需要长时间操作而不需要用户长时间等待的情况可以使用这个类。注意确保在 DoWork 事件处理程序中不操作任何用户界面对象。而应该通过 ProgressChanged 和 RunWorkerCompleted 事件与用户界面进行通信。程序代码:u 阅读全文
posted @ 2007-10-19 14:47 周金桥 阅读(172) 评论(0) 推荐(0)
摘要: 【说明】如果你已经熟悉了,请不必往下看,如果你还不熟悉,请做下参考,因为经常在asp.net中需要获取有关URL相关方面的信息,虽然msdn上列出了各种方法,无奈方法和属性太多,没办法一一记住,就做了个例子,将与路径和文件信息相关的参数通过一个方法列出来,以备平时查阅。usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebCont 阅读全文
posted @ 2007-10-17 17:45 周金桥 阅读(138) 评论(0) 推荐(0)
摘要: GDI+ 是 Windows XP 操作系统中提供二维矢量图形、图像处理和版式的部分。GDI+ 在 GDI(较早版本的 Windows 中提供的 Graphics Device Interface)的基础上进行了改进,添加了新功能并优化了现有功能。利用GDI+可以很方面的画图绘图,并且也能很方便地操作图形数据。下面本人以一个简单的例子来展示如果用C#和GDI+来制作一个时钟。运行结果如下:程序代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSyst 阅读全文
posted @ 2007-10-10 13:33 周金桥 阅读(343) 评论(0) 推荐(0)
摘要: 进来因为开发原因,经常需要使用日期方面的比较和操作,整理了一下这方面的资料,供大家共享:SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getd 阅读全文
posted @ 2007-10-09 18:13 周金桥 阅读(366) 评论(0) 推荐(0)
摘要: 客户端请求页面 1、预初始化(OnPreInit) 2、初始化(OnInit) 3、完成初始化(OnInitComplete) 4、载入ViewState(LoadViewState) 5、处理回送数据(IPostBackDataHandler) 6、Page_OnPreLoad—》Page_OnLoad 7、回发更改通知(RaisePostDataChangedEvent) 8、处理回发事件(RaisePostBackEvent) 9、Page_OnLoadComplete 10、预呈现(OnPreRender) 11、完成预呈现(OnPreRenderComplete) 12、保存Cont 阅读全文
posted @ 2007-09-26 10:53 周金桥 阅读(190) 评论(0) 推荐(0)
摘要: 本文节选自MSDN的文章《五种提高 SQL 性能的方法》,提出如何提高基于SQL Server应用程序的运行效率,非常值得推荐。对一些Traffic很高的应用系统而言,如何提高和改进SQL指令,是非常重要的,也是一个很好的突破点。*文章主要包括如下一些内容(如感兴趣,请直接访问下面的URL阅读完整的中英文文档):1,从 INSERT 返回 IDENTITY SELECT @@IDENTITY2, 内嵌视图与临时表 临时表- 在 tempdb 中的临时表会导致查询进行大量 I/O 操作和磁盘访问,临时表会消耗大量资源。内嵌视图 -使用内嵌视图取代临时表。内嵌视图只是一个可以联接到 FROM 子句 阅读全文
posted @ 2007-09-22 12:11 周金桥 阅读(188) 评论(0) 推荐(0)
摘要: 说明:你希望自己用.net辛辛苦苦做出来的软件被人轻易破解吗?你希望自己花了大量人力物力用.net开发出来的产品被竞争对手轻易获取核心代码吗?这是一篇比较详尽地介绍如何保护自己的.net源代码的文章,如混淆、加密和强名称等,出于保护原作者的角度,所以本人没有掐头去尾作为自己个人的文章,正因为是全文转载,所以并不代表本人完全赞同作者的全部观点,也不代表本人本人提作者提到的软件做广告,这一点请大家注意,不要认为我为别人做广告而骂我,其实我根本不认识作者。一. 前言 大家好,我是康世杰,大家可以叫我Jason。 我和大家一样,都是搞技术出身,也未当过讲师,所以口材有限,如果讲得不好之处,还希望大家多 阅读全文
posted @ 2007-09-22 11:43 周金桥 阅读(167) 评论(0) 推荐(0)
摘要: .NET程序保护主要有如下几种形式1.混淆2.编译到本地代码3.把代码隐藏在资源中1.混淆这部分的保护软件以Dotfuscator和XenoCode为代表。Dotfuscator是比较初级的混淆器,采取的主要策略是名字混淆,通过把类名、方法名、变量名改成很短的形式,目的是破坏有意义的变量命名。WebCombo.NET2.0,采用Dotfuscator进行变量名混淆名字混淆的缺点在于a.名字长度虽短,但是依然容易进行代码分析。对于熟悉汇编语言的逆向工程师,改成短的变量名对阅读代码基本不存在任何难度。b.在应用反射(Reflector)机制的程序中不能很好的工作。XenoCode是稍微高级的混淆器 阅读全文
posted @ 2007-09-19 11:51 周金桥 阅读(330) 评论(0) 推荐(0)
摘要: Many people reported issues after upgrade from Atlas/Ajax Beta or CTP to the most recent RC build (1.0.61025). Typical symptoms are: 1. UpdatePanel, ScriptManager and other ASP.NET Ajax elements are squiggled as 'unrecognized'. 2. Formatting lost in UpdatePanel when switching from Design to 阅读全文
posted @ 2007-09-18 11:29 周金桥 阅读(239) 评论(0) 推荐(0)
摘要: 位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:·按位与 & ·按位或 | ·按位取反 ~ ·左移 << ·右移 >>·异或^在C#中位操作同C的位操作没有什么却别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表 阅读全文
posted @ 2007-09-17 18:04 周金桥 阅读(561) 评论(0) 推荐(0)
摘要: 在开发中经常会遇到无限级分类的问题,最常见的是一些无限级目录之类的,如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言的话,这将是一件很困难的事情,也许你最后能实现类似的功能,不过可能花费的时间很长,效率也不是很理想,下面的示例也许能给你一个启示。/***创建表****/CREATETABLE[dbo].[Tree]([ID][int]IDENTITY(1,1)NOTNULL,[PID][int]NULL,[Name][varchar](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]/****创建自定义函数****/CREATEFUNCTI 阅读全文
posted @ 2007-09-10 18:39 周金桥 阅读(279) 评论(0) 推荐(0)
摘要: 字段类型 描述 字段长度及其缺省值 CHAR (size) 用于保存定长(size)字节的字符串数据。 每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。 ... 阅读全文
posted @ 2007-09-08 10:25 周金桥 阅读(150) 评论(0) 推荐(0)
摘要: PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。 PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,.. 阅读全文
posted @ 2007-09-07 16:35 周金桥 阅读(792) 评论(0) 推荐(0)
摘要: 在用visual studio 2005编辑asp.net页面时,有时会遇到:"***"不是已知元素。错误情况如下图:原因可能是网站中存在编译错误。这有可能是代码中的"***"确实有错,但是有时候你会发现代码根本就没有错,却还是出现了这种问题,这种问题的现象是:所有<asp>标签都不能被vs2005正确识别,但是编译可以通过,页面也可以正常运行。虽然不影响程序运行,但是只要出了这种问题,vs 2005功能就大大缩水了,在“源码”模式下什么提示功能都没了。一般这种问题出现在编辑使用了“Master Page(母版页)”的页面过程中,可能的一个解 阅读全文
posted @ 2007-09-06 16:11 周金桥 阅读(358) 评论(0) 推荐(0)
摘要: 在asp.net页面中经常会出现一些ViewState的html标记,也许某些时候你会禁用ViewState,但是某些情况下你不得不使用它——因为它的便捷性,但是由于在默认情况下,ViewState的HTML标记总是在页面的最前面,而且都是一些没有意义的内容,一般的搜索引擎收录的时候就会将这些无意义的字符串收录进去,这样就会严重影响你所制作的网页在搜索引擎的排名。有没有解决办法?答案是有的,可以将ViewState的Html标记移到底部,不影响性能,对搜索引擎更友好。这种方法就是重写页面的Render,将ViewState的Html标记移到底部。原始页面的HTML:<%@PageLang 阅读全文
posted @ 2007-09-06 15:46 周金桥 阅读(305) 评论(0) 推荐(0)
摘要: 一、添加/删除请求开始事件的方法: Sys.WebForms.PageRequestManager.instance.add_beginRequest(beginRequestHandler) Sys.WebForms.PageRequestManager.instance.remove_beginRequest(beginRequestHandler) 参数beginRequestHandler指定当请求开始之前要调用的函数。 例: Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandl 阅读全文
posted @ 2007-09-05 09:52 周金桥 阅读(223) 评论(0) 推荐(0)
摘要: 1、去掉Oracle生成的SQL创建语句中的双引号 用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:这样给操作数据库带来很大的不便,解决的办法是设置Database菜单,然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到CaseSensitivityUsingQuote将其设为NO,即可。如下图:如果带有包的话,导出时要选择包中的表。2、PowerDesign高级应用编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:/Program Files/Sy 阅读全文
posted @ 2007-09-03 18:46 周金桥 阅读(160) 评论(0) 推荐(0)
摘要: 101个微软提供的Visual Studio 2005示例,分别用Visal Basic和C#编写的演示代码,包含了很多Visual Studio 2005和.NET Framework 2.0的新特性的演示。想获得更多的代码示例,请参见这个下载。 下载所有的101示例:C#版本 | VB版本 这些示例使用Visual Studio 2005进行开发并通过测试 数据访问这个数据访问的代码示例演示了如何使用System.Data和相关名称空间中的类 ,和如何使用SQL Server 2005中的新特性。代码示例包括: 异步查询 为应用程序附加数据库 在SQL Server 2005中创建并使用用 阅读全文
posted @ 2007-08-29 10:15 周金桥 阅读(126) 评论(0) 推荐(0)
摘要: 先假设有这么一个表:createtableS_Depart(DepartIdINTnotnull,DepartNameNVARCHAR2(40)notnull,DepartOrderINTdefault0,constraintPK_S_DEPARTprimarykey(DepartId));在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREME 阅读全文
posted @ 2007-08-28 16:45 周金桥 阅读(196) 评论(0) 推荐(0)
摘要: 程序代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Drawing.Drawing2D;usingSystem.Drawing.Imaging;/**作者:周公*日期:2007-08-21*程序说明:本文一个实例来介绍如果在GDI+中对图片进行旋转,并且依据这个API绘制了一个立方体,在可见的立方体的*每一个表面都 阅读全文
posted @ 2007-08-21 11:10 周金桥 阅读(184) 评论(0) 推荐(0)
摘要: 研究GDI+了,发现这个东东挺不错的,可以实现很多挺cool的效果,今天尝试画了一个太极图,希望看过的朋友的否极泰来(CSDN的这个博客太垃圾了,经常不能传图,本来想把图给大家看的,只好放到别的地方通过链接来访问了)废话少说,看代码:aspx部分:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Taiji.aspx.cs"Inherits="Taiji"ContentType="Image/Jpeg"%><!DOCTYPE 阅读全文
posted @ 2007-08-16 10:51 周金桥 阅读(459) 评论(0) 推荐(0)
摘要: 孔明先生台鉴: 你的职称申请报告收悉。因为你是名人,所以对你的评审工作,评委们特别慎重,经研究,我们的基本意见如下: 众所周知,你雄才大略,火烧赤壁,七擒孟获,可谓是功绩赫赫,有口皆碑。但在职称系列中,有工程技术类、财会类、经济类、政工类等等,对照此系列,你的挂靠颇为棘手。比如,你曾设计制造过“木牛流马”,但不懂外语,难以划入工程技术类;唯有“七擒孟获”,你竟让孟获彻底心服口服,思想政治工作可谓做到家了,称得上是位优秀的政工人员。本欲给你靠入政工系列,可查来查去你却没有文凭。奉劝老先生拨冗去参加个速成班之类,只须交上几百元的参培费,及格是不成问题的。 你要求评为中级职称,其中一条是有三篇... 阅读全文
posted @ 2007-08-11 14:06 周金桥 阅读(187) 评论(0) 推荐(0)
摘要: 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu=return(false)><td>no</table> 可用于Table 2. <body onselectstart="return false"> 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut=& 阅读全文
posted @ 2007-08-11 10:33 周金桥 阅读(139) 评论(0) 推荐(0)
摘要: 在asp.net1.1中曾经推出了TreeView、MultiPage等插件(因为不是vs2003内置的),需要下载安装相关的插件才能使用,这些当年我也曾用过,不过感觉用起来不是太方便(到服务器上部署时还需要安装一遍),现在到vs2005中这些都成为内置控件了,极大的方便了开发和部署,TreeView控件似乎没有太多要说的,今天我就展示一下MultiPage控件的升级产品MultiView控件。设计时视图:以下是运行时的截图:前台aspx代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile= 阅读全文
posted @ 2007-08-08 12:51 周金桥 阅读(304) 评论(0) 推荐(0)
摘要: 在传统的教科书或者书籍中都会灌输我们一个观念,那就是抽象类可以被继承(extends),接口可以被实现(implements),但是抽象类不能被实现(implements),接口也不能被继承(extends),但是今天这个观点有些地方被颠覆了。抽象类可以被继承(extends),接口可以被实现(implements),但是抽象类不能被实现(implements),这三个观点确实没有什么问题,但是接口却是可以被继承的,当然你也许会举一个类似下面的例子来证明接口是不能被继承的,代码如下:确实上面的代码不能被编译通过,会出现以下错误:也许你就想以上面的例子来证明我的观点是错误的,但是请看下面的例子: 阅读全文
posted @ 2007-07-20 10:19 周金桥 阅读(1307) 评论(0) 推荐(0)
摘要: 很多数据库都提供提供数据库定义和数据导入功能,但不幸的是SQL Server却没有,导出成SQL语句只会到处数据库对象的定义,并不包含数据,为了达到导出数据的功能,我们通常只能通过数据库附加或者备份的功能实现,而无法像MySQL那样利用一个SQL语句就能完成数据库的定义和数据导入。好了,SQL Server现在也提供了这种功能了,它用到了一个软件数据库发布向导(Database Publishing Wizard),它可以免费获取,该向导支持2种数据库主机部署场景:1) 数据库发布向导允许你指向一个你正在本机上操作的数据库,然后自动生成一个.SQL脚本文件,该文件包含了在任何远程系统上重建一个 阅读全文
posted @ 2007-07-19 19:49 周金桥 阅读(147) 评论(0) 推荐(0)