01 2010 档案
摘要:借用terrylee的原话:Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。适配器模式再次体现了“面向接口编程,而非面向实现编程”这一精神。场景:有一个基于数据库的系统,里面的数据库操作就拿最常用的查询来说,主要是用SqlHelper类里的QueryData(string sql)这个方法来处理的,后来意外发现该方法实现上性能并不是最好(或者不能满足新的需要),而这时正好有一个第三方的DbHelper程序集,写得很成熟性能也不错,但唯一不足的是里面的查询方法签名是SelectData(string sql),怎
阅读全文
摘要:要求:呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 “视”为当天的数据。--即分组依据思路:把时间段折分成连续二段,一段是从当天08:00到11:59分的数据,一段是当日12:01到19:59分的数据,然后用union all合并起来,最后再用s...
阅读全文
摘要:原型模式个人以为最适合的场景:参照现有的某一个对象实例,快速得到多个完整的实例副本。(通常是深拷贝的副本)深拷贝在c#中实现的最简单方式莫过于通过反序列化得到一个全新的对象实例。(当然如果浅拷贝的话,方法就很多了,比如利用MemberwiseClone或反射属性自动赋值都可以)场景:还是游戏场景,就拿三国来说吧,打仗时可能需要小兵若干,每个小兵可能还要骑马...(简单起见其它东东就不提了,比如可能每个小兵还要带兵器若干),这些个实例的数量是动态的,但是几乎每个小兵的属性都完全相同,每匹战马的属性也相同,很显然写一堆的new()造出若干实例,再逐一对属性赋值是可行的,但是并非最好的做法,下面看看
阅读全文
摘要:类索引器Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;34namespacePrototype5{6classProgram7{8staticvoidMain...
阅读全文
摘要:原文:http://www.cnblogs.com/zhouyinhui/archive/2007/07/07/809553.htmlyjmyzz提示:读懂以下内容可能需要掌握(高中)数学中的"向量运算",以及(大学)数学“线性代数”中的"矩阵运算",如果您对此不熟悉,建议先百度词条温习一下。虽然在WPF中可以使用TranslateTransform、RotateTrans...
阅读全文
摘要:工厂模式:个人理解为主要用于创建"同一系列"的N个对象实例。(注意这里"同一系列"指这一系列对象均继承于某一个抽象类或均实现了某一个接口)举例:(仍然来自李建忠老师webcast中的实例,不过做了些简化)某汽车生产商需要对生产出来的“某一品牌”的不同型号汽车进行测试,于是写一套测试程序,这里的品牌我们就用Audi(奥迪)吧,比如现在测试的是A5,过一阵可能A6要下线,另外A7,A8...也都在研究中...如何让这一套测试程序能应对各种型号的变化,而不是每次出来一款新型号的奥迪,就要发布一个版本?寻找变化点:变化的只是型号,但同一品牌的测试方式却相对不变(比如商务车通常主要侧重于测试商务实用性,
阅读全文
摘要:一、不写代码的方法:用Blend看图说话:这是待处理的图片win7在win7上,画一个矩形,再用钢笔随便画个封闭的path将矩形与path合并组成复杂的路径将合成后的复杂路径与win7图片同时选中,然后生成剪切路径这样我们就得到了一个不规则的图片轮廓(当然这里演示的去掉不规则部分,反过来就是挖洞)二、用代码挖洞原理:先用WriteableBitmap把原图片复制一份,然后将原图隐藏,接下来把指定区...
阅读全文
摘要:Builder模式主要用于以下场景:需要创建一个较复杂的大对象实例,并且构成该对象的子对象可能经常会发生变化,但是组成大对象的算法却相对稳定。比如:我们做b/s开发时,经常会遇到一些系统要求支持模板/皮肤切换,一个完整的页面由若干子模块组成,不管模板如何变换,子模块的内容/位置如何变化,但组成页面的算法即相对固定。我们假定每个页面由header,body,footer三个基本模块组成,先抽象出来:接口抽象部分Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com
阅读全文
摘要:抽象工厂主要用来解决多个系列的对象实例问题。问题的应用场景(来源于李建忠老师的webcast讲座):如果有一款游戏,里面有"道路,房屋,隧道,丛林"这四类基本设施,而且不同的地图(比如中国区,印度区,欧美区)这些设施的风格各有特色,比如中国区应该是中国风格,印度区可能是古典风格,欧美区可能是现代风格...并且这些基本设施的风格还有可能会一直不断增加,作为程序员/架构师,您想如何让以后的维护/升级变得更轻松,比如新增加一种风格时,最好只要改改配置,顺便发个新的dll复制到安装目录就完事,而不是把原来的类似xxx = new ChineseStyleRoad(),全部改成xxx = new New
阅读全文
摘要:[代码]Singleton的精髓在于:对于类的实例个数做了限制,只要领会了这一点,可以应用到很多场景,比如聊天室最多只能让100个人进来,数据库连接实例只能有200个...
阅读全文
摘要:安装visual studio之后,一旦某些进程出现问题,总是出现“visualstudio实时调试器”对话框,有时候感觉很烦人,下面是解决办法:删除注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug\DebuggerHKEY_LOCAL_MACHINE\SOFTWARE\M...
阅读全文
摘要:查找/列出进程很容易,但干掉进程得借助系统命令ntsd.exe,详细用法见下面的代码 :[代码]另外ntsd.exe在windows vista以上的版本(包括windows 2008)上,出于安全考虑已经被MS给去掉了,但我们可以直接从xp下复制过来继续使用,这里为方便大家给出ntsd.exe的下载http://files.cnblogs.com/yjmyzz/ntsd.rar
阅读全文
摘要:先上演示地址:http://images.24city.com/jimmy/QQCapture/注:首次点击,会提示未安装ActiveX插件,下载安装成功后,刷新页面,就可以截屏了。提示:该ActiveX插件是我用Delphi7开发的纯绿色插件(调用了QQ公司的公开dll),默认会安装到c:\Capture下,大伙儿玩腻了以后,点击c:\capture\uninstall.bat,然后删除整个c:...
阅读全文
摘要:先引用delphi自带的单元uses EncdDecd;然后就可以使用下面二个函数了:by 菩提树下的杨过 http://yjmyzz.cnblogs.com/Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--///将Bitmap位图转化为base64字...
阅读全文
摘要:上一篇"base64编码在silverlight中的使用"里已经提到WriteableBitmap对象可以借助FluxJpeg转化为base64字符串,而WriteableBitmap又能从BitmapSource直接构造,so ... 问题解决了先将BitmapImage转化为WriteableBitmap,然后得到base64字符串,然后可以得到base64的byte[]数组,再然后您可以把b...
阅读全文
摘要:在传统的.net应用中,使用base64编码字符串是一件很轻松的事情,比如下面这段代码演示了如何将本地文件转化为base64字符串,并且将base64字符串又还原为图片文件.base64编码在传统.net程序中的应用(by 菩提树下的杨过 http://yjmyzz.cnblogs.com/) Code highlighting produced by Actipro CodeHighlighte...
阅读全文
摘要:这种应用现在已经比较常见了,比如论坛回贴中的手写功能 ,IM聊天中的个性化手写文字,个性签名等,在Silverlight中要实现该功能其实非常简单,只要一个InkPresenter控件即可使用要点:1.要合理设置裁剪区,否则手写时可能笔划会写到你不希望出现的地方.2.处理好MouseLeftButtonDown,MouseMove,LostMouseCapture这三个事件.演示代码:前端Xaml...
阅读全文
摘要:1.如果想在windows 2008上架设oracle db server,只能安装oracle 10g r2以上版本2.管理员用户名最好不要用邮箱格式(比如xxx.xxx@abc.com),否则在计划任务里创建任务时,总是提示用户名无效。3.如果想使用Radmin做为远程管理工具,必须是3.4以上版本,否则远程桌面时,只能看到一片漆黑!4.如果是用R2 64位版本,oledb方式的数据库连接将无...
阅读全文
摘要:今天在一台win2003 64bit 英文版服务器上安装Sql2008,死活安装不上,每次到一半时,提示数据库引擎安装失败,郁闷之极...后来意外发现:“MSXML 6 Service Pack 2 (KB973686)” 在控件面板里,删除掉这个该死的补丁后,居然就可以安装了看来微软的测试工作有时候也不怎么样
阅读全文
摘要:近日公司一网站项目,要调用其它系统(call center系统)的oracle数据库数据,只能连接查询,无法创建存储过程,所以只能在sql语句上动脑筋实现分页:[代码]注:用到了微软的企业库EnLib
阅读全文
摘要:Xaml如下:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<UserControlx:Class="ToolsTest.Test"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/p...
阅读全文
摘要:Silverlight中只有可视化树,没有WPF中的逻辑树,这一点可从SL的sdk文档中得到印证:可视化树概念也存在于 WPF 中,它与 Silverlight 的可视化树概念类似。然而,一个显著的差异是 WPF 还提供一个附加的筛选器或对象树(称为"逻辑树")的概念。逻辑树概念与某些属性系统行为相关。Silverlight 不通过帮助器类来公开此逻辑树。Silverlight 中的确存在某些(但...
阅读全文