16 Alden

尚未进行身份认证

等级
TA的排名 13w+

Data Provider DataDirect

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

2011-09-23 09:21:08

Visual Studio Database Project

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

2011-08-10 14:32:38

Visual Studio一些小技巧

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

2011-08-09 20:26:56

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

<br/>        尽管Ajax(AysnchronousJavascriptandXML)不是一种标准化的技术,也不是一个全新的理念,但它确实已经以很快的速度改变了Web的访问体验,提供了一种相比于传统Web体验来说更流畅、更无缝的交互模型。<br/>        Microsoft在IE5中初次引入了XMLHttpRequest对象,XMLHttpRequest是Ajax技术的关键功能,该对象允许Javascript生成服务器请求并使用变量返回信息。它可以接收任何形式的文本文档,而

2011-01-08 17:41:00

行为模式-访问者模式

<br/>访问者模式(Visitor)表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作.<br/>可以这么理解,访问者模式实际上是分离了容器结构中的元素和对这些元素进行操作的行为,然而容器对象就象是个大染缸,本来有各种鲜明类型的对象一旦放入后,再取出时,这些类型就消失了,这时我们就可以使用访问者模式来加以处理.<br/>   publicinterfaceIVisitor<br/>   {<br/>       voidProcess

2010-07-17 11:52:00

行为模式-模板模式

<br/>模板模式(Template)是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要.所以模板模式可以理解为定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.模板使得子类可以不改变一个算法的结构即可重定义该算法的某些特定处理步骤.<br/>变化一直以来都是软件设计的永恒话题,在XP(极限编程)编程中提倡拥抱变化,积极应对.如何更好的去抓住变化点,应对变化,如何更好的提高代码复用,通过学习模板模式,您应该有一个新的认识.<br/>   publicabstract

2010-07-16 22:35:00

行为模式-策略模式

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

2010-07-16 00:18:00

行为模式-状态模式

<br/>        状态模式(State)在实际应用中使用的比较多,一般用于”状态的切换”,因为我们经常会使用ifelse进行状态切换.如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取状态模式了.<br/>        不只是根据状态,也可以根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现的频率比较高,我们经常会在一个数据表的尾部,加上一个属性含义的字段,用以标识记录中一些特殊性质的记录,这种属性的改变又是随时可能发生的,就有可能要使用状态模式.<

2010-07-15 00:12:00

行为模式-观察者模式

<br/>        观察者模式(Observer)定义对象间的一对多个关系,当一个对象的状态发生变化时,所以依赖它的对象都会得到通知,并自动更新.<br/>        观察者模式完美的将观察者和被观察的对象分离开,举个例子:用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上.面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面.一个对象只做一件事情,并且将他做好.观察者模式在模块之间划定了清晰的界限,提高了

2010-07-14 23:45:00

行为模式-备忘模式

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

2010-07-13 23:37:00

行为模式-中介者模式

<br/>        中介者模式(Mediator)使用一个中介对象来封装一系列对象的交互行为,中介者模式可使各个对象之间不需要显示的引用,降低耦合度,并且可以独立改变之间的交互.<br/>        各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用中介者模式,可以使各个对象间的耦合松散,只需关心和中介者的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可扩展性.<br/>   publi

2010-07-13 00:25:00

行为模式-迭代器模式

<br/>        迭代器模式(Iterator)提供一个方法用于顺序访问一个集合中的各个元素,而不需要暴露该集合的内部表示.<br/>        集合对象拥有两个最基本的功能,即存储数据和遍历集合中的每一个数据.迭代器模式为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作.<br/>        .NET中提供了两个接口,分别为IEnuerable和IEnumator,这就为实现迭代器提供了极大的便利.

2010-07-12 23:48:00

行为模式-解释器模式

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

2010-07-11 23:15:00

行为模式-命令模式

<br/>        命令模式(Command)将一个请求封装为对象,从而使你可用不同的请求对客户进行参数.对请求排队或者记录日志,以及支持可撤销的操作.也就是说将功能封装成对象.对象的激发者和接收者都不需要了解命令的执行过程.从而消除了激发者和接收者之间的耦合.为程序提供了更清晰的结构.实际运用中通过将系统的命令封抽象成一个接口所有的命令都是这个接口的实现.<br/>        为了给命令模式一个整洁清晰的结构,命令模式通常和工厂模式一起使用.采用一个工厂对命令对象的建立进行管理,减少命令

2010-07-10 00:11:00

行为模式-职责链模式

<br/>        职责链模式(ChainofResponsibility)使多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系,将这些对象链成一个链,沿着这条链传递请求,直到有对象能够处理请求为止。<br/>        无法预测请求处于那种类型每一个类碰到其不能处理的请求就放弃处理,从而降低了耦合性,但也带来的效率的损耗。<br/>   publicclassRequest<br/>   {<br/>       publicintType{get;

2010-07-09 00:30:00

结构性模式-代理模式

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

2010-07-07 23:48:00

结构性模式-享元模式

<br/>        享元模式(Flyweight)通过共享一个元类,解决避免大量相同内容的小类而引起的系统开销.面向对象的原则是一切都是对象,但如果真的这样使用起来,那对象可能多的吓人.例如字处理软件,如果把每一个字都看成一个对象.无疑会消耗大量的内存.这时可以通过设计一个元类,封装可共享的类,另外还有一些特性取决于应用,是不可共享的.这也是享元模式中内部状态和外部状态要解决的问题.<br/>        可以先做一个原始模型,根据不同的场合和环境,再产生具体的模型.很显然,在这里需要产生不

2010-07-06 23:49:00

交叉查询

<br/><br/>SELECTstudent_key,<br/>      SUM(CASEcourse_keyWHEN1THENmarkelse0end)AS'English',<br/>      SUM(CASEcourse_keyWHEN2THENmarkelse0end)AS'Maths',<br/>      SUM(CASEcourse_keyWHEN3THENmarkelse0end)AS'Physics'<br/>FROM  Score<br

2010-07-06 01:56:00

结构性模式-外观模式

<br/>        外观模式(Facade)主要是为系统中的一组接口提供一个统一的界面,通过定义这样一个高层的接口使系统的使用更加容易,外观模式重在于思想.例如在应用程序中如果用到访问数据库,那么当用户从SQLServer数据库切换到Oracle数据库时,如果没有提供统一的数据库访问接口,这时可能需要进行大量的代码修改.或者维护多个组件的版本.通过使用统一的接口,切换数据库时只需要修改相关的配置参数,不需要任何多余的修改.例如:<br/>   publicclassFacade<br/> 

2010-07-06 00:40:00

结构性模式-装饰模式

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

2010-07-01 23:40:00

查看更多

勋章 我的勋章
    暂无奖章