摘要:
今天在论坛上看到这首诗,觉得挺有意思,让程序员过上正常人的生活的呼声已经越来越高了,我自己也是有感于此,特摘录过来与大家分享。 写字楼里写字间,写字间里程序员; 程序人员写程序,又拿程序换酒钱。 酒醒只在网上坐,酒醉还来网下眠; 酒醉酒醒日复日,网上网下年复年。 但愿老死电脑间,不愿鞠躬老板前; 奔驰宝马贵者趣,公交自行程序员。 别人笑我忒疯癫,我笑自己命太贱; 不见满街漂亮妹,哪个归得程序员。 阅读全文
posted @ 2007-09-30 17:01
nacarat
阅读(222)
评论(0)
推荐(0)
摘要:
一.上传图片到数据库 1/**//// 2/// 上传图片 3/// 4private void UploadFile() 5{ 6 /**////得到用户要上传的文件名 7 string strFilePathName = loFile.PostedFile.FileName; 8 string strFileName = Path.GetFileName... 阅读全文
posted @ 2007-09-30 16:55
nacarat
阅读(931)
评论(0)
推荐(0)
摘要:
使用方法: 1/**////调用函数将验证码生成图片 2 this.CreateCheckCodeImage(GenerateCheckCode()); 1/**//// 2 /// 产生五位的随机字符串 3 /// 4 /// 5 private string GenerateCheckCode()... 阅读全文
posted @ 2007-09-30 16:55
nacarat
阅读(153)
评论(0)
推荐(0)
摘要:
1/**//// 2 /// 功能:实现在Web页面中发送Email 3 /// 4 private void SendMail() 5 { 6 MailMessage m = new MailMessage(); 7 8 /**////发件人地址 9 ... 阅读全文
posted @ 2007-09-30 16:54
nacarat
阅读(1045)
评论(2)
推荐(0)
摘要:
一.隐含类型局部变量简介 在C#3.0中增加了很多新的语言特性,如果有一个局部变量被声明为var,这个声明被视为隐含类型局部变量声明,然后由编译器根据局部变量初始化表达式来推断变量的类型。如下面的声明: var integer = 10; var name = "Terry Lee"; var numbers = new int[] { 1, 2, 3 }; var在这里是仅仅是一... 阅读全文
posted @ 2007-09-30 16:51
nacarat
阅读(161)
评论(0)
推荐(0)
摘要:
概述 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就是要说的Façade 模式。 意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[GOF 《设计模式》] 示意... 阅读全文
posted @ 2007-09-30 16:49
nacarat
阅读(194)
评论(0)
推荐(0)
摘要:
概述 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。[GOF 《设计模式》] 结构图 图1 Composite模式结构图 生活中的例子... 阅读全文
posted @ 2007-09-30 16:48
nacarat
阅读(116)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。 ... 阅读全文
posted @ 2007-09-30 16:47
nacarat
阅读(111)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 意图 将抽象部分与实现部分分离,使它们都可以独立的变化。[GOF 《设计模式》] 结构图 图1 Bridge模式结构图 生活中的例子 桥接模式将抽象部分与它的实现分离,使它... 阅读全文
posted @ 2007-09-30 16:46
nacarat
阅读(141)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。 意图 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作... 阅读全文
posted @ 2007-09-30 16:45
nacarat
阅读(156)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 结构图 Prototype模式结构图 生活中的例子 Protot... 阅读全文
posted @ 2007-09-30 16:44
nacarat
阅读(101)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 意图 定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory Meth... 阅读全文
posted @ 2007-09-30 16:43
nacarat
阅读(315)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。 本文通过现实生活中的买KFC的例子,用图... 阅读全文
posted @ 2007-09-30 16:41
nacarat
阅读(141)
评论(0)
推荐(0)
摘要:
概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 模型图 逻辑模型: 物理模型: 生... 阅读全文
posted @ 2007-09-30 16:39
nacarat
阅读(244)
评论(0)
推荐(0)
摘要:
概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一... 阅读全文
posted @ 2007-09-30 16:37
nacarat
阅读(74)
评论(0)
推荐(0)
摘要:
下面这个functioon是我分析MSN的一个网址截取的,对使用javascript Post数据的时候有用,以前我都是用笨办法在页面上放个隐藏的form然后submit,现在可以直接用使用post了,^_^! function _sd_Post(Url, Args) { var xmlhttp; var error; eval('try {xmlhttp = new Ac... 阅读全文
posted @ 2007-09-30 16:34
nacarat
阅读(1793)
评论(0)
推荐(0)
摘要:
最终效果如图: 日期时间输入 日期输入 日期输入 阅读全文
posted @ 2007-09-30 16:34
nacarat
阅读(186)
评论(0)
推荐(0)
摘要:
最近用EntLib建立一个项目,用到其中的DAAB这个模块,这个模块是提供封装了的数据访问方法。本项目需要同时支持Sql Server 和Oracle数据库,现我考虑了两种使用方法,列出来供大家讨论: 1。不再封装DAAB,程序中的数据访问直接调用DAAB提供的方法,通过配置让DAAB自己选取数据库,这样就需要把涉及到T-Sql 和PL/Sql语法不同的语句都要封装成存储过... 阅读全文
posted @ 2007-09-30 16:31
nacarat
阅读(232)
评论(0)
推荐(0)
摘要:
我们知道在aspx页面里激发一个事件都需要把页面Post到服务器,这样如果在客户端通过调用javascript进行页面刷新,IE就会弹出提示框问是否重新提交,但是我们本意只是想刷新数据显示。怎么办呢,我想的办法就是模拟控件激发事件的动作,让.net误认为是改变了控件的状态或点击了刷新按钮,让页面Post达到刷新数据的作用。 首先拖入一个服务器控件到aspx页面,设置此控... 阅读全文
posted @ 2007-09-30 16:31
nacarat
阅读(293)
评论(0)
推荐(0)
摘要:
首先,在CLR中所有的字符都被表示为16位的Unicode码值,所有的字符串都是由16位的Unicode码值组成。 16位的Unicode编码可以表示当今世界上的所有字符,所以,不必为字符的不同而担心保存的方式,这给字符的转换会很方便。 但是字符串保存在CLR中,如果我们需要呈现出来,比如写入文本文件,写入网络流,如果按照这样的方式,可能会很浪费... 阅读全文
posted @ 2007-09-30 16:30
nacarat
阅读(218)
评论(0)
推荐(0)
浙公网安备 33010602011771号