head first 设计模式学习随笔(12)----代理模式
摘要:代理模式----为另一个对象提供一个替身活占位符以控制对这个对象的访问head first书上是用JAVA RMI来做的例子,我这边用销售房子 房子--房产商--中介--买家为例说明什么是代理模式[代码]
阅读全文
posted @
2008-09-30 00:06
Jim~
阅读(352)
推荐(0) 编辑
一句话概括每个设计模式
摘要:1.单件模式----通过一次性构造全局唯一的对象2.工厂模式----获取对象而不用关心他具体是什么,全由子类决定3.适配器模式----将一个接口转化为另一个,以达到兼容的目的4.装饰者模式----不改变接口,增加责任,并能多次重复添加5.外观模式----将一群对象转化为接口,达到简单使用的目的6.观察者模式----对象发生变化,观察者都会得到通知7.命令模式----将需求的多种执行者进行封装,以方...
阅读全文
posted @
2008-09-28 15:32
Jim~
阅读(670)
推荐(0) 编辑
head first 设计模式学习随笔(11)----状态模式
摘要:感觉就是策略模式强化版,但是绝非简单的通过状态来管理行为之间的逻辑关系,而是把行为当作状态,简单的说在什么状态下决定执行什么行为是有效的,同时改变下一行为(状态),还有一点是所有代码中没有IF,让当前行为决定做那些事情是有效的.书上是这么说的:允许对象在内部状态改变是改变他的行为,对象看起来好像是修改了它的类.以下以冰箱里面有一头鹿怎样把大象放进冰箱的状态关系为例说明:打开冰箱把鹿拿出冰箱把大象塞...
阅读全文
posted @
2008-09-28 14:30
Jim~
阅读(347)
推荐(0) 编辑
head first 设计模式学习随笔(10)----组合模式
摘要:所谓组合模式----允许将对象组合形成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象集合个人认为Xml数据的格式就很类似于组合模式,而XmlNode类适合于组合模式的描述,以下我将以长江源头描述起,来说明组合模式[代码]
阅读全文
posted @
2008-09-27 16:10
Jim~
阅读(272)
推荐(0) 编辑
head first 设计模式学习随笔(9)---迭代器模式
摘要:所谓迭代器模式,就是实现一个迭代器接口,从而实现对通用对象组的遍历,而又不暴露内部结构以下以鸭子和虫子为例说明:[代码]
阅读全文
posted @
2008-09-27 10:31
Jim~
阅读(263)
推荐(0) 编辑
head first 设计模式学习随笔(8)----模板模式
摘要:模板模式:个人认为模板模式可以很好的对不同类似对象复用,从而达到减少代码量和易于维护的目的。书上是这么说的:在一个方法中定义算法骨架,而将一些步骤延迟到子类中,末班方法使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。模板模式使用的原则------好莱坞原则 低层不调用高层 高层会调用低层和依赖倒转原则,两者皆依赖于抽象相比有什么不同呢? 个人认为2者都是为了达到解耦的目的才存在的,而...
阅读全文
posted @
2008-09-26 14:43
Jim~
阅读(330)
推荐(0) 编辑
ASP.net页面跳转方式比较(转载)
摘要:跳转页面asp.net提供的三种方法比较 1 response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意...
阅读全文
posted @
2008-09-23 09:06
Jim~
阅读(1746)
推荐(0) 编辑
head first 设计模式学习随笔(7)----适配器模式和外观模式
摘要:适配器模式和外观模式:适配器模式:所谓适配器模式就是将不兼容的接口想方设法让他兼容,通过继承目标接口的方式来实现,达到兼容的目的,或者说是改变接口。个人对适配器模式产生的理解:在后续的代码修改和功能扩充的过程中需要通过某个接口的转换,以达到版本的兼容。以下的例子可能不是很恰当,但是能说明问题:[代码]外观模式和适配器模式很像,但是他的目的并非是兼容,而是简单适用将一群对象转换为一个简单接口,以方便...
阅读全文
posted @
2008-09-19 18:47
Jim~
阅读(254)
推荐(0) 编辑
head first 设计模式学习随笔(6)----命令模式
摘要:命令模式:把需求的请求者和需求的执行者从对象中解耦出来,我个人的理解是把请求者和执行者分离,执行者封装复杂的执行过程,通过请求者的指示找到不同的执行者来处理或者执行不同的过程。以下以命令者 命令传递者 命令执行者为例,解释妈妈喊起床的过程:[代码][代码]
阅读全文
posted @
2008-09-19 16:24
Jim~
阅读(270)
推荐(0) 编辑
head first 设计模式学习随笔(5)----单件模式
摘要:单件模式:显而易见,单件模式就是只有一个,并且通过私有构造器的方式不能被继承(继承了就不是正真意义上的单件了),在这一点上和静态类是一致的,但是还是有区别的主要是以下2点:初始化时间,静态类在编译时初始化,单件类在需要时再初始化静态类没有构造器,但是单件有一个一次性的构造器,可以根据不同情况进行一次性的复杂构造 当某个类并不需要由构造器初始化并且不在乎初始化的时间时,2者可以混用!以下是单件模式的...
阅读全文
posted @
2008-09-19 13:54
Jim~
阅读(272)
推荐(0) 编辑
head first 设计模式学习随笔(4)----抽象工厂模式
摘要:抽象工厂模式: 提供一个接口,用于创建相关的依赖对象的家族,而不需要明确指定类 该模式符合依赖倒转原则,高级对象不依赖于低级对象,两者都依赖于抽象。 我个人认为就是高级对象抽象成高级接口,低级对象抽象成低级接口,2者的依赖关系转化为2种接口的之间的依赖,而非对象之间的依赖关系,从而达到松耦合的效果。 抽象工厂强调的就是封装,将需要不同的对象创建部分放在不同的工厂里面,有选择性的返回不同的对象,以下...
阅读全文
posted @
2008-09-19 09:06
Jim~
阅读(329)
推荐(0) 编辑
head first 设计模式学习随笔(3)----装饰者模式
摘要:装饰者模式,所谓装饰者模式,就是能够自由动态扩展功能,装饰者和被装饰折拥有同一个超类,比如System.IO系统, 我个人认为的装饰者模式就是 (((被装饰者)装饰者+)+装饰者)+装饰者.....无穷无尽的扩展..... 该模式也符合设计模式原则: 开-闭原则对扩展开放,对修改关闭. 优先使用组合而非继承,不过这里继承的目的不是为了获得行为而是为了匹配类型 以下以咖啡饮料为例解释装饰者模式: ...
阅读全文
posted @
2008-09-18 09:36
Jim~
阅读(244)
推荐(0) 编辑
head first 设计模式学习随笔(2)----观察者模式
摘要:观察者模式,所谓观察者模式我个人认为就是一对多关系的依赖关系,核心内容在于发送者更新后传递给观察者 职责明确,发送者不需要知道观察者的具体工作内容,观察者只必须需要知道获取的数据格式然后按照相应的格式处理就是了。 以下是自己做的一个Demo 并加以说明 Code highlighting produced by Actipro CodeHighlighter (freeware)http://...
阅读全文
posted @
2008-09-17 10:50
Jim~
阅读(264)
推荐(0) 编辑
head first 设计模式学习随笔(1)----策略模式
摘要:策略模式: 鸭子会叫和飞 对于不同种类的鸭子特点,只需要给出几种不同的特点就可以组合成为N种鸭子嘿嘿 总而言之,我对策略模式的理解就是可变部件的抽象分离 就是策略模式的核心 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 基本方法#reg...
阅读全文
posted @
2008-09-16 17:05
Jim~
阅读(255)
推荐(0) 编辑
面向对象设计模式原则(来源网络)
摘要:1. 单一职责原则(SRP) 单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。也就是说,不要把变化原因各不相同的职责放在一起,因为不同的变化会影响到不相干的职责。再通俗一点地说就是,不该你管的事情你不要管,管好自己的事情就可以了,多管闲事害了自己也害了别人。 在软件设计中,如果一个类承担的职责过多,就等于吧这些职责耦合在一起,而一个职责的变化可能会削弱和抑制这个类完...
阅读全文
posted @
2008-09-16 10:22
Jim~
阅读(1059)
推荐(1) 编辑
json规范,平时不注意的特殊符号
摘要:今天在做项目的过程中发现json传值时,有回车符就挂了,在网上找了找资料发现原来json不支持某些特殊符号,使用时需要转义,同时8进制或者16进制的数字也不行 数字以0开头也不行 以下是比较官方的说法: 2. JSON语法 JSON文本是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个实字名。 JSON文本一个串行化的对象或数组。 JSON-text = object / ar...
阅读全文
posted @
2008-09-04 09:05
Jim~
阅读(27609)
推荐(0) 编辑
fckeditor 客户端和服务端取值
摘要:首先是服务端,使用前提安装好fckeditor控件 把相关的配置文件 fckeditor放到相应的目录中 1 2 设置好配置路径BasePath 在.cs文件中就可以轻松的通过product_add_details.Value获取 接下来是客户端 首先在引用fckeditor.js 直接给出代码了 Code highlighting produced by Actipro CodeHighli...
阅读全文
posted @
2008-09-03 22:39
Jim~
阅读(700)
推荐(0) 编辑
用AJAX绑定dropdownlist数据时报错的解决办法
摘要:回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证. 解决办法: 取消事件...
阅读全文
posted @
2008-09-03 14:50
Jim~
阅读(313)
推荐(0) 编辑
XML 增删查改
摘要:直接贴代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System; using System.Data; using System.Configuration; using System.Web; using System.Xml;...
阅读全文
posted @
2008-09-02 16:15
Jim~
阅读(456)
推荐(0) 编辑