代码改变世界

随笔档案-2012年09月

代理模式(Proxy)

2012-09-20 09:15 by Mike.Jiang, 440 阅读, 收藏,
摘要: 1 概述有时我们会遇到这样的问题:要在多个地方,使用到一个远程对象,这样我们需要写加载远程对象的方法;统计一个对象被引用的次数;要一次创建很多大对象,但我们又不是立刻就能用到所有的对象。在这些问题中,所有的要被调用的对象功能均已实现,但又缺少一些其它的功能,如在创建时异步加载、统计引用次数,延迟加载等,要添加这些公共的功能,又不能破坏原有对象职责的单一性。遇到这样的问题,我们要用到——代理模式2 GOF 定义意图:为其他对象提供一种代理以控制对这个对象的访问结构图:备注:Subject:客户所希望的对象接口RealSubject:是真正实现了这个对象接口的方法。Proxy:引用了RealSub 阅读全文

外观模式(Façade)

2012-09-17 08:06 by Mike.Jiang, 550 阅读, 收藏,
摘要: 1 概述当你开发系统时,遇到这样的问题:1>分层开发时,底层的多个类相互协作完成一些复杂的功能,高层的开发人员也必须要知道这些底层类是如何协作完成功能,这样做合理吗2>在开发系统时,需要用到已有的旧系统中的功能,面对那些杂乱无章的代码、逻辑我们怎么办,难道要每一位开发人员都去面对吗当遇到这些问题,在面向对象的世界里,我们是如何解决——外观模式2 GOF意图为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[GOF 《设计模式》]结构图3 理解SubSystem:复杂的子系统,其中的类关系复杂,类比较多;Client:高层 阅读全文

VS2008 工具箱都是textbox(报表设计时)

2012-09-11 13:06 by Mike.Jiang, 846 阅读, 收藏,
摘要: 1 问题在用VS2008做report service时,出现这样一个问题:工具箱中都是textbox,其它的控件都没有reset也没用。2解决方法在网上找了很多解决方法,发现下面的方法有用,如果您也遇到这样的问题不妨试试下面的方法:1>在文件浏览器中,显示隐藏文件;2>打开目录:C:\Documents and Settings\当前用户名\Local Settings\Application Data\Microsoft\VisualStudio\9.0 (WinXP\server2003)3>删除文件:删除"toolbox.tbd", "t 阅读全文

适配器模式(Adapter)

2012-09-11 08:05 by Mike.Jiang, 578 阅读, 收藏,
摘要: 1 概述遇到这样的问题:需要用到已有的功能,功能的数据和行为都是正确的,但是功能的调用繁杂并要在多个地方调用。在正常的思维下,我们将功能的调用写在一个公共类的一个方法中,这样我们就已经达到了隔离已有复杂功能目的。但这样做有如下缺点:1>如果这个类有多个公开的方法,则不能对这个类进行统一的管理;2>如果这个类中的方法相互依赖很强,那么写公共方法也会比较烦;最后,我们用OO的语言开发,应该以OO的思想来解决这个问题。上述的问题,通过大师们的总结,已经形成一个统一的解决模式:适配器模式;2 GOF中的定义2.1 意图: 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本 阅读全文

TABLE 多表头固定问题(基本jquery插件)

2012-09-06 08:16 by Mike.Jiang, 19854 阅读, 收藏,
摘要: 在这个插件的使用中,部分网友反应有两个问题:1>单元格内容很长时,会出现布局问题;2>固定的表头,有时与下面的tbody中的元素不能对齐解决方法:1>第一个问题实际就是单元格自动换行的问题,可以用下面的方法解决(但仅IE下通过),加入CSSView Code table tbody td { word-break: break-all; word-wrap: break-word; }并在调用时传入tableLayout="fixed",采用固定的table布局方案。2>第二个问题,试过很多种方法,最稳定的... 阅读全文

组合模式(Composite)

2012-09-04 08:06 by Mike.Jiang, 293 阅读, 收藏,
摘要: 1 概述当遇到这样的问题:一个对象它即可以是操作对象,又可以作为本身对象的容器。客户端代码在操作时,需要知道某个对象是容器对象还是操作对象。这样客户端代码就与容器、操作对象耦合。我们需要这样一种模式,使得即可以支持对象可以是操作对象或容器,并且也支持客户代码不需要知道某个对象是某个具体类型。2 GOF中的定义2.1意图将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。2.2 结构图3松耦合的实现——客户代码不需要区分某个对象是树支还是树叶View Code public abstract class Componen... 阅读全文