自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

飘零的专栏

追求梦想的人

原创 Data Provider DataDirect

最近发现了一个高性能的数据访问组件:DataDirect. 网址:http://www.datadirect.com/index.html. 性能远远优于ADO.NET, 支持Oracle, Sybase, DB2, SQL Server. Repository h

2011-09-23 09:21:08 626 1

原创 Visual Studio Database Project

对于数据库设计,以前一直使用的是ER-Win和PowerDesigner, 也用过Visio,只记得很早就在VS里有一个DatabaseProject模板,可能是懒惰吧,几乎没有关注过这个东西,只是最近有一个项目从其他公司转过来了,数据库设计正好用的是这个DatabaseProj

2011-08-10 14:32:38 883 0

原创 Visual Studio一些小技巧

1. Ctrl+Tab   预览已打开的项目程序 2. Ctrl + Alt + P Attach to Process 3. 输入语法关键字,例如“foreach”,并点击两下Tab 键,VS 2010 便会自动完成相应的语法结构 4. 在编写UI代码时,有时我们

2011-08-09 20:26:56 303 0

原创 自己动手实现一个简单的Ajax

<br />         尽管Ajax(Aysnchronous Javascript and XML)不是一种标准化的技术,也不是一个全新的理念,但它确实已经以很快的速度改变了Web的访问体验,提供了一种相比于传统Web体验来说更流畅、更无缝的交互模型。<br /> ...

2011-01-08 17:41:00 679 0

原创 行为模式-访问者模式

<br />访问者模式(Visitor)表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作.<br />可以这么理解,访问者模式实际上是分离了容器结构中的元素和对这些元素进行操作的行为,然而容器对象就象是个大染缸,本来有...

2010-07-17 11:52:00 307 0

原创 行为模式-模板模式

<br />模板模式(Template)是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要.所以模板模式可以理解为定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.模板使得子类可以不改变一个算法的结构即可重定义该算法的某些特定处理步骤.<br /...

2010-07-16 22:35:00 276 0

原创 行为模式-策略模式

策略模式(Strategy) 面向接口编程是面向对象编程中一个最重要的原则,根据封装的原理,我们常常将易于变化的部分进行抽象,定义为接口.对于调用者而言,只需要知道接口的外部定义即可,具体的实现则不用理会.在设计模式中,策略模式就是这样的一个面向接口编程的最佳体现,它进行抽象的

2010-07-16 00:18:00 190 0

原创 行为模式-状态模式

<br />         状态模式(State)在实际应用中使用的比较多,一般用于”状态的切换”,因为我们经常会使用if else进行状态切换.如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取状态模式了.<br />         不只是根据状态,也可以...

2010-07-15 00:12:00 354 0

原创 行为模式-观察者模式

<br />         观察者模式(Observer) 定义对象间的一对多个关系,当一个对象的状态发生变化时,所以依赖它的对象都会得到通知,并自动更新.<br />         观察者模式完美的将观察者和被观察的对象分离开,举个例子:用户界面可以作为一个观察者,业...

2010-07-14 23:45:00 258 0

原创 行为模式-备忘模式

<br />         备忘模式(Memento)在不破坏封装性的前提下,捕捉一个对象的内部状态,并在对象之外保存这个状态,这样以后就可以将这个对方恢复到保存的状态.可以使用序列化将保存的状态类序列化为本地文件,这样可以持久化保存当前状态.如果用`一个接口来让其它对象直接得到这些...

2010-07-13 23:37:00 194 0

原创 行为模式-中介者模式

<br />         中介者模式(Mediator) 使用一个中介对象来封装一系列对象的交互行为,中介者模式可使各个对象之间不需要显示的引用,降低耦合度,并且可以独立改变之间的交互.<br />         各个对象之间的交互操作非常多;每个对象的行为操作都依赖...

2010-07-13 00:25:00 319 0

原创 行为模式-迭代器模式

<br />         迭代器模式(Iterator) 提供一个方法用于顺序访问一个集合中的各个元素,而不需要暴露该集合的内部表示.<br />         集合对象拥有两个最基本的功能,即存储数据和遍历集合中的每一个数据.迭代器模式为遍历不同的集合结构提供一个统...

2010-07-12 23:48:00 187 0

原创 行为模式-解释器模式

<br />解释器模式(Interpreter) 用于定义语言的文法,建立一个解释器来解释该语言的句子. 它描述了一个语言解释器是如何构成的.<br />当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式.例如:<br />...

2010-07-11 23:15:00 183 0

原创 行为模式-命令模式

<br />         命令模式(Command)将一个请求封装为对象,从而使你可用不同的请求对客户进行参数.对请求排队或者记录日志,以及支持可撤销的操作.也就是说将功能封装成对象.对象的激发者和接收者都不需要了解命令的执行过程.从而消除了激发者和接收者之间的耦合.为程序提供了更...

2010-07-10 00:11:00 275 0

原创 行为模式-职责链模式

<br />         职责链模式(Chain of Responsibility)使多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系,将这些对象链成一个链,沿着这条链传递请求,直到有对象能够处理请求为止。<br />         无法预测请求处于...

2010-07-09 00:30:00 229 0

原创 结构性模式-代理模式

<br />         代理模式(Proxy)是通过给一个对象提供一个代理,由代理对象控制对原对象的引用.如果由于一些原因,一个对象不能或者不想直接引用另一个对象.这时可以通过一个代理对象建立在客户端对象和目标对象之间的引用关系.例如:<br />    public...

2010-07-07 23:48:00 185 0

原创 结构性模式-享元模式

<br />         享元模式(Flyweight)通过共享一个元类,解决避免大量相同内容的小类而引起的系统开销.面向对象的原则是一切都是对象,但如果真的这样使用起来,那对象可能多的吓人.例如字处理软件,如果把每一个字都看成一个对象.无疑会消耗大量的内存.这时可以通过设计一个元...

2010-07-06 23:49:00 199 0

原创 交叉查询

<br /><br />SELECTstudent_key,<br />       SUM(CASEcourse_keyWHEN 1 THENmarkelse 0 end)AS'English',<br />       SUM...

2010-07-06 01:56:00 174 0

原创 结构性模式-外观模式

<br />         外观模式(Facade)主要是为系统中的一组接口提供一个统一的界面,通过定义这样一个高层的接口使系统的使用更加容易,外观模式重在于思想.例如在应用程序中如果用到访问数据库,那么当用户从SQL Server数据库切换到Oracle数据库时,如果没有提供统一的...

2010-07-06 00:40:00 203 0

原创 结构性模式-装饰模式

         装饰模式(Decorator)用于给动态给对象添加一些额外的职责.例如你的一个方法用于向文件中写入数据,那么你希望添加一些功能在这个方法上,例如在写前打开文件,写后关闭文件,例如:    publicinterfaceILog    {        void Write(); ...

2010-07-01 23:40:00 219 0

原创 结构性模式-组合模式

<br />         组合模式(Composite)将对象组织成树状结构,以表示整体-部分的层次结构.使单个对象和组合对象的操作具有一致性.例如:<br />    publicinterfaceIComposite<br />    {<br /...

2010-07-01 01:36:00 210 0

原创 结构性模式-桥接模式

<br />桥接模式(Bridge)用于将抽象部分和实现部分分离开来,使其相互独立,可以各自变化,又可以动态的进行组合.<br />         例如:人分为男人、女人, 其又有行为吃饭、睡觉等,如何将其通过某种方式动态绑定,而不是固定的进行绑定,就可以使用桥接模式,如...

2010-06-30 01:40:00 191 0

原创 获得自增列的值

<br />SQL Server中获得自增列的值有三个方法,分别为:<br />1.   IDENT_CURRENT: 返回为某个会话和作用域中指定的表或视图生成的最新的标识值.<br />      语法: IDENT_CURRENT("table_...

2010-06-29 01:24:00 505 1

原创 结构性模式-适配器模式

<br />适配器模式(Adapter)主要是用于将一个类的接口转化为使用者希望的另一个接口.使原本因为接口不兼容而不能一起工作的类可以一起工作.<br />         在软件开发过程中经常会遇到这类问题,在新的项目中使用现有的一些组件,而这些组件的接口与新的项目的接...

2010-06-29 01:00:00 147 0

原创 创建模式-原型模式以及单态模式

<br />         原型模式(Proto)是创建一个对象,并通过拷贝这个对象来创建新的对象。<br />         浅拷贝复制对象的基本类型,对对象类型不进行拷贝,只是产生引用。<br />         深拷贝复制对象的基本类型,以及对象类型...

2010-06-27 15:19:00 153 0

原创 分页存储过程

<br /><br />自己写的一个SQL Server分页存储过程<br />CREATEPROCEDUREemployee_query<br />    @page_index       int,<br />    @page_si...

2010-06-26 19:20:00 333 0

原创 C#调用Oracle存储过程并返回结果集

1.创建一个存储过程:createorreplaceprocedure GET_PERSON(    RC1 outsys_refcursor,     RC2 outsys_refcursor)isbegin    open RC1 for select * from PERSON;    op...

2010-06-26 19:13:00 1884 0

原创 创建模式-生成器模式

         生成器模式(Builder)将一个复杂对象的创建与表示分离开,对其复杂的创建过程和部件进行解耦,使同样的创建过程可以创建不同的表示.         如果当你的对象的创建过程可以和每个部件的创建过程分离开,并且可能通过组装不同的创建部件可以生成不同的对象.         如同生...

2010-06-26 17:50:00 206 0

原创 创建模式-工厂模式

<br />简单工厂模式又叫静态工程模式,它主要是使用一个工厂类根据传入的参数来创建一个继承于同一个基类的多个不同子类的实例。<br />假如你需要编写一个数据访问模块,用于支持对Sql Server、Oracle等多种数据库的支持,就可以考虑使用工厂模式来完成,例如:&l...

2010-06-26 11:58:00 343 0

原创 DataReader和DataSet的区别

1. 获取数据的方式    DataReader为在线操作数据, DataReader会一直占用SqlConnection连接,在其操作中其它操作不可以再使用SqlConnection连接对象。    DataSet为离线操作数据,DataSet会将数据一次性读入内存,然后断开连接,这是其它操作就...

2010-06-24 14:44:00 4743 0

原创 数据库性能调整

<br />    数据库性能调整是一项长期的且极具挑战性的工作,它可以很大程度的展示你的能力,遵循一个系统的方法来调整数据库性能尤其重要.可以参照以下方面:<br />    1.正确的设计数据库结构,尽可能在数据库规范和可用性方面寻找一个平衡点,不可一味的强求设计规范,...

2010-06-23 21:39:00 368 0

原创 ASP.NET应用程序连接Oracle的问题

再Windows XP上写好的ASP.NET应用程序部署到IIS上,连接不上Oracle10g数据库,提示:System.Data.OracleClient Requires oracle client software version 8.1.7 or greater。因为在调试环境是可以连接上...

2010-05-20 17:38:00 290 0

原创 表达式解析-后缀表达式

引言         前一段时间,因为需要在产品内部的脚本解析程序中引入表达式解析功能,研究了一下表达式解析的常用方法.         表达式解析是程序设计语言中最基本的功能之一,我们日常使用的一般为中缀表达式,然而中缀表达式的解析比较复杂,在计算机中的解析一般是将中缀表达式转化为后缀表达式(又...

2010-04-16 23:51:00 1466 1

提示
确定要删除当前文章?
取消 删除