摘要: 目前比较流行的UML建模工具包括Visio、Rational Rose、PowerDesigner、EA等,基本上都是企业级的软件,功能强大,我只用过Visio,所以就不对它们的特点或者异同多加介绍。对于较正式的情况,例如图形会作为项目文档的一部分,建议使用以上列出的软件。当我们在工作中遇到较复杂的代码逻辑或者业务逻辑时,把它们以图形的形式展现出来更容易理解,对于这种情况,可以使用一个简单轻便的建模工具来快速地绘制。这里向大家推荐一款不错的小软件:Diagram Designer,安装包大概1.3M,下图是它的主界面: 可以用它来绘制各种各样的图形,如UML、流程图、界面构造等,对于常用的图. 阅读全文
posted @ 2011-12-20 10:11 West_Link 阅读(33414) 评论(2) 推荐(4) 编辑
摘要: 经常看到论坛上有人抱怨日常的编程工作就是复制和粘贴,对此我也深有体会,尤其是利用类似SSH框架开发的项目,很大一部分代码都是通过复制粘帖然后再稍加修改完成的。但是Widows的剪贴板只能记录最近一次复制的内容,要想粘帖之前某次复制的内容,只能再次去目的地复制,看似简单的过程可能会占用不少时间,如果能省去这个步骤,也许就可以早点下班回家。有一类工具可以帮上忙,那就是剪贴板增强软件,比如本文要介绍的CLCL,其他的还有Clipx、ArsClip、Clipmate等。 CLCL是一个非常强大而体积小巧的免费剪贴板增强工具,运行后会在系统托盘上显示一个类似别针的小图标,CLCL会自动记录每次复制的内. 阅读全文
posted @ 2011-12-03 16:53 West_Link 阅读(5601) 评论(3) 推荐(2) 编辑
摘要: 在上学的时候,下课铃声一响,快乐的课间十分钟开始了,耳边充斥着打闹声,很少有人在这期间学习。工作后,没有了提醒我们休息的“下课铃声”,长时间坐在办公室里敲代码,忙碌或者太投入的时候甚至几个小时不起身,久而久之,颈椎病、腰肌劳损之类的就会不请自来。 身体是第一位的,工作一小时左右提醒自己休息片刻,闭目养神,伸伸懒腰,起身活动活动。但是,咱们程序员太敬业了,总是忘记休息,稍不留神,好几个小时已经逝去。 我们可以安装一个定时提醒软件到手机上,不论在何地,只要手机在身上,它都可以提醒我们注意休息。如果工作中的绝大部分时间都坐在电脑面前办公,那么可以考虑把定时提醒软件安装到电脑上,因为不论手机的震动提. 阅读全文
posted @ 2011-11-29 20:28 West_Link 阅读(4413) 评论(10) 推荐(3) 编辑
摘要: 很多项目中都有消息分发或者事件通知机制,尤其是模块化程度高的项目。例如在办公自动化系统中,有些子系统对于新建用户这一事件很感兴趣,权限模块希望为这个新用户设置默认的权限,报表模块希望重新生成当月的报表,诸如此类的代码都写到新建用户的业务逻辑后面,会加大耦合度,可维护性降低,并且对于每个模块都是一个独立工程的情况,这种方式更是不可取。对于简单的情形,观察者模式就适用了,如果系统中有很多地方都需要收发消息,那么它就不适用了,否则会造成类数量的膨胀,增加类的复杂性,这时候就需要一种更集中的机制,Publish-Subscribe机制是个不错的选择,它的耦合性低,各个参与者之间毫无关联。每 一个消息. 阅读全文
posted @ 2011-11-21 09:56 West_Link 阅读(3266) 评论(11) 推荐(1) 编辑
摘要: 最新的Web浏览器都有标签页特性,而Windows自带的资源管理器却没有,总是需要同时打开多个窗口,后来下载了一个插件叫 QTTabbar,可以让资源管理器具备标签页的特性,但总是出问题。除此以外,Windows资源管理器还有种种不足,此刻能想到的有以下几点: 1、不能设定经常使用的文件夹 2、拷贝文件的全路径不方便 3、使用起来不够快,快捷键太少 Total Commander完全可以替代Windows自带的资源管理器,主界面如下图所示:它的功能非常强大,下面简要介绍一下是经常用到的部分: 1、支持标签页,对于经常需要访问的文件夹,可以自定义标签页列表,而且每次打开后都是上次退出时的状态.. 阅读全文
posted @ 2011-11-16 09:55 West_Link 阅读(8453) 评论(1) 推荐(0) 编辑
摘要: 记得在使用MindManager之前,考虑问题的解决办法的过程经常会被各种事件打断,回过头来再继续时总会有些偏差,甚至忘记了之前想到的关键地方,所以,有时候也会一边想一边记,但总觉得这个过程不够高效,一段时间后,记录的内容连自己也看不懂,有的根本就找不到了,无形的价值随之流失。 其实我也一直在找可替代的方法,尤其是类似的软件,感觉都不太合适,大多数都是些类似便筏、网络笔记本的工具。无意中见到一位同事边看电子书边做笔记,所使用的软件让我眼前一亮,它能以树状层次呈现所有节点或者步骤,有点类似平时看到的大纲,不过它的结构更清晰、更灵活,而且每个节点可以关联图片、文档、详细说明等资源。这类软件叫思维. 阅读全文
posted @ 2011-11-08 22:02 West_Link 阅读(3821) 评论(6) 推荐(4) 编辑
摘要: 在我们日常工作中,经常需要让多个应用程序窗口同时可见(并且相互不遮挡),例如在比较两个文档或者边看电子书边做笔记时,可以让它们水平方向上各占屏幕的一半。如果显示器比较大,我们可以把屏幕划分成几块,然后在各个区域放置需要同时可查阅的窗口,这样可以充分利用屏幕空间,而且同时可以干好几件事情。 不过,很多人都是通过手动拖拽来实现这一目的,首先要找到目标窗口,然后移动到指定位置,最后调整大小,过程比较繁琐。第一步可以通过上篇文章介绍的方法快速进行,后面两步就可以用本篇文章介绍的GridMove搞定。 GridMove是一款小巧的软件,安装后没有界面,启动后只会在系统托盘中显示一个蓝色的网格状图标,G. 阅读全文
posted @ 2011-10-14 22:34 West_Link 阅读(4069) 评论(3) 推荐(2) 编辑
摘要: 当我们打开电脑做一些事后,任务栏中就会有若干已打开应用程序的窗口,在它们之间切换,绝大部分人使用下面两种方式: 1、使用Tab键 2、直接用鼠标在任务栏中找到目标窗口再点击 第一种方式效率更高一些,尤其是在当前窗口与上一个窗口切换的情况下,应该没有比使用Tab键更好的方法了。在我们工作的过程中,总会有那么几个固定使用的应用程序,比如IDE、浏览器、文本编辑器、邮箱客户端、即时通信工具、帮助文档等。如果我们能直接按下某个快捷键就能切换到目标窗口该多好啊,而且在该窗口不存在时直接打开相应的应用程序,这也算是一种快速打开应用程序的好方法。使用AutoHotKey就能达到这个目的。刚开始的时候需要适. 阅读全文
posted @ 2011-10-08 10:53 West_Link 阅读(16578) 评论(3) 推荐(2) 编辑
摘要: 在一个较为复杂的业务流程中,某些条件的满足与否决定了业务逻辑的走向,我们可以把这些条件抽离出来,使得任意个条件以某种关系进行组合,从而灵活地对业务逻辑进行定制。另外,在查询、过滤等应用场合中,我们也可以预定义多个条件,使用这些条件的组合来处理查询逻辑,而不是使用逻辑判断语句来处理,那样只会让代码变得复杂,让脑袋变大。 在Specification设计模式中,一个条件就是一个specification,多个specification通过串联的方式以某种逻辑关系形成一个组合式的specification。首先看一下整体的UML图:下面是Specification接口的声明:public inte. 阅读全文
posted @ 2011-09-15 18:00 West_Link 阅读(3382) 评论(1) 推荐(4) 编辑
摘要: Object Pool,即对象池,对象被预先创建并初始化后放入对象池中,对象提供者就能利用已有的对象来处理请求,减少对象频繁创建所占用的内存空间和初始化时间,例如数据库连接对象基本上都是创建后就被放入连接池中,后续的查询请求使用的是连接池中的对象,从而加快了查询速度。类似被放入对象池中的对象还包括Socket对象、线程对象和绘图对象(GDI对象)等。 在Object Pool设计模式中,主要有两个参与者:对象池的管理者和对象池的用户,用户从管理者那里获取对象,对象池对于用户来讲是透明的,但是用户必须遵守这些对象的使用规则,使用完对象后必须归还或者关闭对象,例如数据库连接对象使用完后必须关闭,. 阅读全文
posted @ 2011-09-05 11:19 West_Link 阅读(3467) 评论(12) 推荐(2) 编辑