04 2010 档案
大话设计模式读书笔记16----迭代器模式(Iterator)
摘要:迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。1、当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,应该考虑 迭代器模式。2、当你对聚集有多种方式遍历时,可以考虑用迭代器模式。
阅读全文
大话设计模式读书笔记15----组合模式(Composite)
摘要:组合模式(Composite):将对象组合成树形结构以表示'部分-整体'的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Co...
阅读全文
大话设计模式读书笔记14----备忘录(Memento)
摘要:备忘录(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象外保存这个状态。这样就可将该对象恢复到原先保存的状态。1、Originator(发起人):负责创建一个Memento备忘录,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储 Originator的哪些内部状态。2、 Memento(备忘录):负责存储Ori...
阅读全文
大话设计模式读书笔记13----适配器模式(Adapter)
摘要:适配器模式(Adapter):将一个类的一个接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。1、两个类所做的事情相同或相似,但是具有不同的接口时要使用它。(DataAdapter用作DataSet和数据源之间的适配器以便检索和保存数据) 适配器模式代码Code highlighting produced by Actipro CodeH...
阅读全文
this._form为空或不是对象。
摘要:问题描述:当使用 ajaxToolkit的TabContainer控件在控件的TabPanel中使用treeview和AspNetPager中出现此问题。解决办法:将<script ...... />替换为<script .......></script> 问题解决。
阅读全文
工厂模式+配置文件+反射 实现数据库访问程序
摘要:控制台代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingSystem.Reflection;//反射命名...
阅读全文
大话设计模式读书笔记12----抽象工厂模式(Abstract Factory)
摘要:抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 1、为创建不同的对象,客户端应使用不同的具体工厂。2、所有在简单工厂的地方,都可以用反射技术来去除Swich或if,解除分支判断带来的耦合。
阅读全文
C# 连接各种数据库总结。
摘要:1、连接Access代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1publicstaticOleDbConnectiongetConn()2{3OleDbConnectionConn=null;4stringStrConn="Provider=...
阅读全文
try/catch/finally
摘要:使用例子:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1publicvoidExecuteSql(stringconString,stringcmdString)2{34SqlConnectioncon=newSqlConnection(con...
阅读全文
C# 判断一个文件是否正在被使用。
摘要:/// <summary> /// 判断一个文件是否正在使用函数/// </summary>/// <param name="fileName">将要判断文件的文件名</param> /// <returns> bool</returns>代码Code highlighting produced by Actipro Code...
阅读全文
C# 定时器事件。(设置时间间隔,间歇性执行某一函数,控制台程序)
摘要:引用using System.Timers;定时器事件代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--staticvoidMain(string[]args){Method();#region定时器事件TimeraTimer=newTimer();...
阅读全文
大话设计模式读书笔记11----建造者模式(Builder)
摘要:建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的建造过程可以创建不同的表示。1、Builder是什么?是创建一个Product对象的各个部件指定的抽象接口。2、ConcreteBuilder 是什么?是具体建造者,实现Builder接口,构造和装配各个部件。3、Director是什么?指挥者,构建一个使用Builder接口的对象。建造者模式代码Code highligh...
阅读全文
查询多月份中某一字段的最小值,最大值,平均值,其中每个月为一张表。
摘要:循环生成表名代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1if(startYM==endYM)2{3tableName1="ANALOG_DATA_"+startYM;//表名4sql="selectmin(pval),max(pval),ro...
阅读全文
DataTable添加行和列的方法
摘要:DataTable添加行和列的方法: DataTable dtResult = new DataTable(); 定义dtResult DataColumn dc = null; 定义表的列 dc = dtResult.Columns.Add("值", Type.GetType("System.String")); DataRow dr =dtResult.NewRow(); dr["值"] = ...
阅读全文
Oracle OCI-22053:溢出错误解决方法
摘要:Oracle 数值数据类型最多可存储 38 个字节的精度。当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这会导致此错误。解决方法:使用round()函数:例如:select min(pval),max(pval),round(avg(pval),5) from hvm_data_dga .round(avg(pval),5) 使数值小数点后按照四舍五入保留5位。
阅读全文
大话设计模式读书笔记10----外观模式(Facade)
摘要:外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更容易使用。1、在设计初级阶段,应该要有意识的将不同的两个层分离。2、层与层之间建立外观Facade,为复杂的子系统提供一个简单的接口,使得耦合大大降低。3、在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。4、增加 Facade可以提供一个简单的接口,减少他们之间的依赖。Fa...
阅读全文
大话设计模式读书笔记9----迪米特法则(Lod)
摘要:迪米特法则(Lod):也叫最少知识法则。如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。1、在类的结构设计上,每一个类都应当尽量降低成员的访问权限。2、迪米特法则的根本思想是强调了类之间的松耦合。3、类之间的耦合越弱,越利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。
阅读全文
大话设计模式读书笔记8----模板方法模式(TemplateMethod)
摘要:模板方法模式(TemplateMethod):定义一个操作中算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。1、模板方法是通过把不变行为搬移到父类,去除子类中的重复代码来体现优势。2、模板方法模式就是提供了一个很好的代码复用平台。模板方法模式代码Code highlighting produced by Actipro CodeHighl...
阅读全文
数据结构与算法读书笔记6----C# Stack类实现与应用
摘要:栈是著名的后进先出(LIFO)数据结构。1、判断字符串是否是回文字符串。2、十进制向多进制的转换。1、代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Collections.Generic;using...
阅读全文
.NET数据库工厂模式简单实现
摘要:通过改变配置文件实现访问不同数据库的工厂模式。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collection...
阅读全文
大话设计模式读书笔记7----原型模式(Prototype)
摘要:原型模式(Prototype):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。1、原型模式就是从一个对象在创建另外一个可定制的对象,而且不需要知道任何创建的细节。2、.NET在System命名空间中提供了Icloneable接口,其中就有唯一的一个方法Clone(),实现这个接口就可以完成原型模式了。3、浅复制:被复制对象的所有变量都含有与原来对象相同的值,而所有对其他对象的引用都...
阅读全文
大话设计模式读书笔记6----工厂方法模式(Factory Method)
摘要:工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。(解决了简单工厂模式违反OCP的问题) 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Collec...
阅读全文
大话设计模式读书笔记5----代理模式(Proxy)
摘要:代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。1、远程代理:为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2u...
阅读全文
大话设计模式读书笔记4----依赖倒转原则
摘要:依赖倒转原则:1、高层模块不应依赖低层模块,二者都应依赖抽象。2、抽象不应依赖细节,细节应依赖抽象。依赖倒转原则可以说是面向对象设计的标志, 用哪种语言不重要,如果编写程序时想的是针对抽象,而不是针对细节,程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之就是面向过程。
阅读全文
大话设计模式读书笔记3----开放封闭原则(OCP)
摘要:开放封闭原则(OCP):软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。1、对于扩展是开放的(open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块扩展,使其满足那些改变的新行为。2、对于修改是封闭的(closed for modification)。对模块进行扩展时,不必改动模块的源代码或者二进制代码。 代码来源:敏捷软件开发(C#...
阅读全文
大话设计模式读书笔记2----单一职责原则(SRP)
摘要:单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。当变化发生时,设计会遭到意想不到的破坏。软件设计真正要做的许多内容,就是发现指责,并把那些职责分离。如果你有多于一个原因去修改一个类,那么这个类就具有多于一个的职责。代码来源:敏捷软件开发(C#版)[代码]接口中显示出两个...
阅读全文
大话设计模式读书笔记1----简单工厂模式
摘要:简单工厂模式----计算器代码代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceSimpleFact...
阅读全文
数据结构与算法读书笔记5----C# 二叉查找
摘要://<summary>//二叉查找 //<param name="value">数字</param>//</summary> //<returns>int</returns>代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www....
阅读全文
数据结构与算法读书笔记4----C# 查找数组中指定数字,最小值,最大值。
摘要:C# 查找数组中指定数字,最小值,最大值。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1classProgram2{3staticvoidMain(string[]args)4{5intsearchNumber;6boolfound;7//Te...
阅读全文
数据结构与算法读书笔记3----C# 插入排序
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceBubbleSort6{7classProgram...
阅读全文
C# 合并多个结构相同的DataTable
摘要://<summary>//合并多个结构相同的表的方法//<param name="DataSet"></param> //</summary>//<returns>DataTable</returns>函数Code highlighting produced by Actipro CodeHighlighter (freewa...
阅读全文
数据结构与算法读书笔记2----C# 选择排序
摘要:C# 选择排序代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceBubbleSort6{7class...
阅读全文
数据结构与算法读书笔记1----C# 冒泡排序
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceBubbleSort6{7classProgram...
阅读全文
浙公网安备 33010602011771号