- 博客(59)
- 资源 (2)
- 收藏
- 关注
转载 Delphi 的RTTI机制浅探
目录===============================================================================⊙ RTTI 简介⊙ 类(class) 和 VMT 的关系⊙ 类(class)、类的类(class of class)、类变量(class variable) 的关系⊙ TObject.ClassType 和 TObj
2017-01-15 10:50:00 354
转载 Net设计模式实例之观察者模式(Observer Pattern)
一、观察者模式简介(Brief Introduction)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化的时,会通知所有观察者对象,使他们能够自动更新自己。二、解决的问题(What To Solve)当一个对象的改变需要同时改变其他对象的时候,而且不知道有多少对象有待改变时,应该考虑使用观察者模式。观察者模式所做的工作其实就
2017-01-15 10:46:58 291
转载 Net设计模式实例之简单工厂模式(Simple Factory Pattern)
一、简单工厂模式简介(Bref Introduction) 简单工厂模式(Simple Factory Pattern)的优点是,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖二、解决的问题(What To Solve) 客户实例化对象时不需要关心该对象是由哪个子类实例化的。三、简单工厂模式分析(
2017-01-15 10:46:17 259
转载 Net设计模式实例之工厂方法模式( Factory Method Pattern)
一、工厂方法模式简介(Brief Introduction)工厂方法模式(Factory Method Pattern),定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类中。二、解决的问题(What To Solve) 工厂方法模式较简单工厂模式,修改时关闭的,扩展时开放的,完全符合开放-封闭原则。工厂方法使一个类的实例化延迟到其子
2017-01-15 10:45:32 305
转载 Net设计模式实例之抽象工厂模式(Abstract Factory Pattern)
一、抽象工厂模式简介(Bref Introduction)抽象工厂模式(Abstract Factory Pattern),提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们的具体类。优点是:易于交换产品系列,由于具体工厂类在一个应该用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂类变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。抽象工厂的另一个优点是,它让
2017-01-15 10:44:47 292
转载 Net设计模式实例之建造者模式(Builder Pattern)
一、建造者模式简介(Brief Introduction)建造者模式(Builder Pattern),将一个复杂对象的构建与它的表示分离,使的同样的构建过程可以创建不同的表示。建造者模式的优点是:使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以如要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。二、解决的问题(What To Solve)主要用于
2017-01-14 13:01:59 389
转载 Net设计模式实例之原型模式( Prototype Pattern)
一、原型模式简介(Brief Introduction)原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。Specify the kind of objects to create using a prototypical instance, and create new objects by copying this proto
2017-01-14 13:01:04 292
转载 Net设计模式实例之单例模式( Singleton Pattern)
一、单例模式简介(Brief Introduction)单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点。单例模式因为Singleton封装它的唯一实例,它就可以严格地控制客户怎样访问它以及何时访问它。二、解决的问题(What To Solve)当一个类只允许创建一个实例时,可以考虑使用单例模式。 三、单例模式分析(An
2017-01-14 12:59:38 278
转载 Net设计模式实例之适配器模式(Adapter Pattern)
一、适配器模式简介(Brief Introduction)适配器模式,将一个类装换成客户期望的另外一个接口。Adapter模式使的原本由于接口不兼容而不能工作的那些类可以一起工作。二、解决的问题(What To Solve)1、使用第三方组件,而这个组件的接口与目前系统接口不兼容(如方法与系统方法不一致等),可以使用适配器模式解决接口不兼容问题。2、使用早前项目一些有用的类,可以用
2017-01-14 12:58:53 248
转载 Net设计模式实例之桥接模式( Bridge Pattern)
一、桥接模式简介(Brief Introduction)桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使的抽象和实现都可以独立地变化。Decouple an abstraction from its implementation so that the two can vary independently.。什么是聚合/组合:聚合(Aggregation)
2017-01-14 12:57:42 380
转载 Net设计模式实例之组合模式(Composite Pattern)
一、组合模式简介(Brief Introduction)组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 二、解决的问题(What To Solve)解决整合与部分可以被一致对待问题。三、组合模式分析(Analysis)1、组合模式结构Component类:组合中的对象声明接口,在适当情况下,实现所
2017-01-14 12:56:38 298
转载 Net设计模式实例之装饰者模式(Decorator Pattern)
一、装饰模式简介(Brief Introduction)动态地给一个对象添加一些额外的职责。优点:把类中的装饰功能从类中搬移出去,这样可以简化原有的类。有效地把类的核心功能和装饰功能区分开了。 二、解决的问题(What To Solve)已经开发完毕的对象,后期由于业务需要,对旧的对象需要扩展特别多的功能,这时候使用给对象动态地添加新的状态或者行为(即装饰模式)方法,而不是使用
2017-01-14 12:56:01 325
转载 Net设计模式实例之外观模式(Façade Pattern)
一、外观模式简介(Brief Introduction)外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层接口,这一个高层接口使的子系统更加容易使用。 二、解决的问题(What To Solve)1、分离不同的两个层 典型的分层例子是Net三层架构,界面层与业务逻辑层分离,业务逻辑层与数据访问层分类。这样可以为子系统提供统一的界面和接口,降低了系统
2017-01-14 12:55:04 421
转载 Net设计模式实例之享元模式( Flyweight Pattern)
一、享元模式简介(Brief Introduction)享元模式(Flyweight Pattern),运用共享技术有效支持大量细粒度的对象。Use sharing to support large numbers of fine-grained objects efficiently.享元模式可以避免大量非常相似类的开销。在程序设计中有时需要生成大量细粒度的类实例来表示数据。如果发现
2017-01-14 12:54:18 406
转载 Net设计模式实例之代理模式(Proxy Pattern)
一、代理模式简介(Brief Introduction)代理模式(Proxy Pattern)对其他对象提供一种代理以控制对这个对象的访问。二、解决的问题(What To Solve)1、远程代理远程代理,也就是为了一个对象在不同的地址空间提供局部代表。这样可隐藏一个对象存在与不同地质空间的事实,隐藏对象所在的地址空间。比如.Net Web Service ,当一个项目在加入一
2017-01-14 12:53:11 463
转载 Net设计模式实例之备忘录模式(Memento Pattern)
一、备忘录模式简介(Brief Introduction)备忘录模式(Memento Pattern),在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以就该对象恢复到原先保存的状态。二、解决的问题(What To Solve) 当系统功能比较复杂,而且需要记录历史属性以便当需要时做恢复动作。Originator可以根据保存的Memen
2017-01-13 09:35:23 310
转载 Net设计模式实例之状态模式(State Pattern)
一、状态模式简介(Brief Introduction)状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。二、解决的问题(What To Solve)状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。当一个对象行为取决于它的
2017-01-13 09:34:27 287
转载 Net设计模式实例之模板方法模式(Template Mothed Pattern)
一、模板方法模式简介(Brief Introduction)模板方法模式(Template Method Pattern),定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可以重定义算法的某些特定步骤。模板方法模式把不变行为搬移到超类,从而去除子类中的重复代码,实际上模板方法模式就是提供了一个代码复用平台。二、解决的问题(What To Sol
2017-01-13 09:33:22 353
转载 Net设计模式实例之访问者模式(Visitor Pattern)
一、访问者模式简介(Brief Introduction)表示一个作用于某对象结构中的元素操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作,它把数据结构和作用于结构上的操作之间的耦合性解脱开,使的操作结合可以相对自由地演化。优点是增加新的操作很容易,因为增加一个新的操作就意味着增加一个新的访问者,访问者模式将有关的行为集中到一个访问对象中。二、解决的问题(What To
2017-01-13 09:32:33 228
转载 Net设计模式实例之命令模式(Command Pattern)
一、命令模式简介(Brief Introduction)命令模式(Command Pattern)将请求封装为一个对象,从而使你用不同的请求对客户进行参数化,对请求排队或纪录请求日志,以及支持可撤销的操作。Encapsulate a request as an object, thereby letting you parameterize clients with different r
2017-01-13 09:30:50 343
转载 Net设计模式实例之解释器模式(Interpreter Pattern)
一、解释器模式简介(Brief Introduction)解释器模式(Interpreter Pattern),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。使用了解释器模式,可以很容易地改变和扩展文法,因为该模式使用类来表示文法规则,可以使用继承来改变或扩展该文法。也比较容易实现文法,因为定义抽象语法树中各个节点的类的实现大体类似,这些类容易
2017-01-13 09:30:03 304
转载 Net设计模式实例之迭代器模式(Iterator Pattern)
一、迭代器模式简介(Brief Introduction)迭代器模式(Iterator Pattern),提供一种方法顺序访问一个聚合对象中元素,而不暴露改集合对象的内部表示。Provide a way to access the elements of an aggregate object sequentially without exposing its underlying rep
2017-01-13 09:29:00 290
转载 Net设计模式实例之中介者模式(Mediator Pattern)
一、中介者模式简介(Brief Introduction)中介者模式(Mediator Pattern),定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。 Define an object that encapsulates how a set of objects interact. Mediator pr
2017-01-13 09:25:46 364
转载 Delphi如何实现内存共享
一.原理 通过使用“内存映射文件”,实现内存共享二.主要操作 共享内存结构: PShareMem = ^TShareMem; TShareMem = Record id:string[10]; name:string[20]; age:Integer; end; 基本变量: shareMemNa
2017-01-12 10:27:23 1668
转载 delphi编程里bool跟boolean类型的区别
bool是LongBool类型。Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型。这四种类型的布尔值占用内存的数量如下:Boolean 1 ByteByteBool 1 ByteWordBool 2 Bytes(1 Wor
2017-01-12 10:26:38 378
转载 Delphi文件操作-读文件-写文件-操作文件
本例子几个变量的说明TFileRec = record //记录定义Day : Integer;... //其他定义end;f : File of TFileRec; //标准的输入/输出文件FilRec : TFileRec; //记录数据FileName ; //记录文件的名称关于记录文件的相关操
2017-01-12 10:25:25 3132
转载 delphi如何保存和读取utf-8的文本文件
给客户做了一个批量识别图像并合成双层pdf的程序,最后客户需要生成的同时附带一份记事本文件,就是OCR过后的文本,并指定utf-8格式的。在处理utf-8时出现了点小问题,现在总结如下 首先 利用delphi自带的UTF8Encode函数,将普通字符转换为utf-8编码创建一个流,MemoryStream或FileStream都可函数看起来如下引用p
2017-01-12 10:24:27 4996
转载 用IHttpModule解决输入中文地址乱码问题(二)
本文是用IHttpModule解决输入中文地址乱码问题(一) 的续文。上文说到,需要对已有的地址进行GB2312编码,这样大大增加了工作量,有没更好的办法呢? 1 public class HookModule : IHttpModule 2 { 3 4 #region IHttpModule 成员 5 6
2017-01-12 10:21:52 340
转载 用IHttpModule解决输入中文地址乱码问题(一)
测试环境:服务器 —— [本机] WIindows2003 Enterprise Edition 2003 sp2 中文版本,IIS 6.0,IE 7.0,ASP.NET 2.0客户端 —— [本机] 同上,Firefox 2.0.0.12作者:birdshover本文是初步探讨文章。需要做一下几个假设:1、网站采用的是ASP.NET部署的;2、网站的编码是U
2017-01-12 10:20:50 420
转载 LINQ to SQL活学活用(4):监视你的一举一动
引入我们看看数据访问层有什么地方可以扩展呢?想到这个实现了吗?我需要时刻监视所有数据的一举一动,是谁创建它的?何时创建的?是谁修改它的?何时修改的?你想到这个问题怎么实现呢?使用开源日志记录框架例如log4net,或者自己写一份单独的实现利用IoC动态切入到你的程序中?没有必要!看看用LINQ to SQL如何实现这个功能吧!注意:这是我第一次分析设计,我只想通过这个系列来讨论学习
2017-01-11 16:21:21 398
转载 LINQ to SQL活学活用(3):嗅出“臭味”烟消云散
引入再次想想上一篇的设计,在第一篇中我说过这个系列的目标是构建一个N层程序,要求这个程序可测试、可维护、可复用、可扩展。我们做到了吗?可测试:恩,现在可以测试!并且隐藏了具体细节,这个比较满意!可维护:好像现在没有什么维护的,不就是这点功能吗?可复用:这点功能叫我怎么复用?我另外写一个程序或许比这个更好呢?可扩展:恩,需要多多扩展,就这点功能!好!我
2017-01-11 16:20:33 237
转载 LINQ to SQL活学活用(2):躲起来别让我看见
引入看到上一篇的编写的测试吗?LINQ to SQL类完全暴露给了客户(这里指测试,接下来几篇将是UI表现层),客户完全操作数据(例如上一节的创建Customer),这篇我们要隐藏数据访问层的实现细节,躲起来别让我看见!注意:这是我第一次分析设计,我只想通过这个系列来讨论学习设计方面的东西,当然很多思想还不成熟或者有错误,只是希望通过这个系列来学习构架设计方面的东西,希望大牛们指点
2017-01-11 16:19:54 204
转载 LINQ to SQL活学活用(1):这要打破旧观念
引入这个系列呢?我想去挖掘LINQ to SQL另外的一面,把LINQ to SQL发挥的淋漓尽致!按照原来.NET2.0时代比较传统的方法,先建立一个数据库,然后拖到DataSet中做一些读取方法啊,或者直接手写一些操作方法啦,最后在数据访问层中调用这些方法,业务逻辑层中业务判断,在页面表现层上就可以光明正大的使用了。呵呵!这个系列就由我带着大家利用LINQ to SQL全新的思维方式来
2017-01-11 16:19:21 208
转载 学习LINQ工具:LINQPad
LINQPad支持C# 3.0 和 Framework 3.5的全部功能:LINQ to ObjectsLINQ to SQLEntity FrameworkLINQ to XMLLINQPad 也是一个很好的学习LINQ的工具,包含《C# 3.0 in a Nutshell》一书中200个示例,可以使用LINQPad感受LINQ的超酷功能和函数编程。LINQPad 是完全
2017-01-10 08:27:54 336
转载 asp.net mvc 中验证码
在asp.net mvc 中使用验证码的例子,代码如下:1.建个控制器 ToolsContolller,写个CreateImageCode的Action,类型为FileContentResultpublic class ToolsController : Controller { #region 生成校验码图片 ///
2017-01-10 08:27:05 497
转载 LINQ可视化查询编辑器: VLinq
LINQ可视化查询编辑器: VLinq大家学习LINQ是不是寻思写LINQ to SQL语句没有一个可视化的编程环境。Mitsu和他们的团队用了近一年的工作在今天发布了VLinq(Visual Linq Query Builder,LINQ可视化查询编辑器)。Visual Linq Query Builder(LINQ可视化查询编辑器)作为Visual Studio 2008的
2017-01-10 08:24:12 509
转载 .NET MVC实现多图片上传并附带参数(ajaxfileupload)
做网站呢,都免不了要做图片上传。 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上传图片) 这段时间在做一个网站,用的MVC5.0,有一个上传多张图片的需求...刚开始用的flash插件,这不前两天Google发文说chrome浏览器即将把HTML5
2017-01-10 08:22:20 785
转载 LINQ体验(18)——LINQ to SQL语句之视图和继承支持
视图我们使用视图和使用数据表类似,只需将视图从“服务器资源管理器/数据库资源管理器”拖动到O/R 设计器上,自动可以创建基于这些视图的实体类。我们可以同操作数据表一样来操作视图了。这里注意:O/R 设计器是一个简单的对象关系映射器,因为它仅支持 1:1 映射关系。换句话说,实体类与数据库表或视图之间只能具有 1:1 映射关系。不支持复杂映射(例如,将一个实体类映射到多个表)。但是,可以将一
2017-01-09 14:39:43 195
转载 MVC与webservice上传文件(图片和视频),希望帮且到一些朋友
最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料。自己也折腾了半天,才把完整的代码实现完。可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见笑!!下面贴代码吧:首先MVC代码:public string UploadVide() { string requesturl =
2017-01-09 14:38:18 559
转载 LINQ体验(17)——LINQ to SQL语句之动态查询
高级特性本文介绍LINQ的高级特性,其包括大家都关心的动态查询的用法,另外简单提下ID标识这个知识。动态查询有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用该用户界面指定一个或多个谓词来筛选数据。这种情况在编译时不知道查询的细节,动态查询将十分有用。在LINQ中,Lambda表达式是许多标准查询运算符的基础,编译器创建lambda表达式以捕获基础查询方法
2017-01-09 08:24:11 362
FCKeditor_2.5.1官方版
2008-04-11
FCKeditor.Net_2.5官方版
2008-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人