今天离职了,一切都是那么顺利,手续办完的那一刻,我知道我是时候该休息休息了.     总是把工作当成一种谋生的渠道,任何一场经历,无非是学习,应用,工作的一个循环而已,行业如何,职务如何,报酬如何,环境如何,一切的一切,到最后用算盘珠子拨上一拨,吃饱了,还过的不错,是我要的生活,O了。可能朋友们都说我太天真了,没错,我心里就是这么想的,可是一个男人怎么能只顾自己吃饱喝足呢?还有很多事情压在我的头上,等待我去解决,不过,休息的时候还是好好歇歇吧,干嘛去想那些烦心事呢!任何事情都会有解决办法的.     ...
Aptana studio 1.1 pro是收费的,下载后可以免费使用30天,下面这个破解方法很好用:) 下载地址:http://www.aptana.com   (建议下载exe安装文件,避免出现不可预知的异常) 支持中文的方法 :在Windows 菜单 → Preferences → General → Content Types,选择 Text ,在下方指定默认编码为UTF-8后update,并在File associations下面添加文件类型,如 *.js.如果文档的编码不是UTF-8 就指定成相应的编码。不过还是建议使用 UTF-8 编 ...
号外,号外:        本人J2EE方向开发已经2年半了,最近因为某些原因,想换一个工作环境,如果有能让我给其公司奉献2年以上或更久时间的合适职位, 请各位朋友帮忙推荐一下.十分感谢!   工作地点:北京(主要),上海,杭州,深圳 联系方式:     MSN:zqh.xl@msn.com     QQ:77427691     EMAIL:qiaohui.zhang@gmail.com   哪位 ...
最近项目中使用Spring+iBatis,其中用到的公共dao记录在此  /** * 数据库Dao必须继承的接口,该接口定义了DaoTemplate的Set和Get方法 * 其他dao继承IBaseDao后自动获得CRUD等功能 */ public interface IBaseDao { public void setDaoTemplate(IBatisDaoTemplate template); public IBatisDaoTemplate getDaoTemplate(); /** * 更新数据 * @param stateme ...
2008-04-01

设计模式学习之复合模式(2)

关键字: 设计模式
接上篇------>设计模式学习之复合模式(1) 我们为什么不将创建鸭子的程序集中在一个地方呢?换句话说,让我们将创建和装饰的部分包装起来,这看起来像是什么模式?10.我们需要一些质量控制来确保鸭子一定是被包装起来的,需要建造一个工厂创建装饰过的鸭子.此工厂应该生产各种不同类型的鸭子的产品家族,使用我们使用抽象工厂模式.//定义一个抽象工厂,它的子类会创建不同的家族 public abstract class AbstractDuckFactory { //每个方法创建一种鸭子 public abstract Quackable createMallardDuck() ...
2008-04-01

设计模式学习之复合模式(1)

关键字: 设计模式
使用模式最棒的方式,就是把他们从家里找出来同其他模式展开交互.你越多的使用模式就越容易发现他们一同现身在你的设计中,对于这些在设计中携手合作征服许多问题的模式,我们给了一个特别的名字:复合模式.但是我们将某些模式结合使用,并不代表这些模式就够资格称为复合模式.复合模式必须够一般性,适合解决许多问题才行.我们将再次使用鸭子的例子来说明并学习,下一章我们会拜访一个真正的复合模式--MVC,没错,就是MVC.1.首先,我们将创建一个Quackable接口public interface Quackable { //只做一件事:呱呱叫 public void quack(); }  ...
原来还不知道iBatis也有像Hibernate类似的自动化代码生成工具,今天找到Abator这工具也挺不错的,在ecelipse上面小试了一把:1.获得Abator      http://ibatis.apache.org/abator.html      Eclipse可以自动的进行Update获取此Plugin,具体见官方的安装步骤2.安装好后将在New菜单中看到一个新的文件类型Abator for iBATIS Configuration File,此是Abator的配置文件,配置文件 ...
有些人没有咖啡就活不下去,有些人则离不开茶。两者共同的成分是什么?当然是咖啡因了!但还不只这样,茶和咖啡的冲泡方式非常相似:一、咖啡冲泡法    1.把水煮沸    2.用沸水冲泡咖啡    3.把咖啡倒进杯子    3.加糖和牛奶二、茶冲泡法    1.把水煮沸    2.用沸水浸跑茶叶    3.把茶倒进杯子    4.加柠檬让我们写一些代码来快速搞定咖 ...
接上篇在我们新的设计中,真正需要做些什么呢?1.我们需要某种树形结构,可以容纳菜单、子菜单、菜单项2.我们需要确定那个在每个菜单的各个项之间游走,而且至少要像在用迭代器一样方便3.我们要能够更有弹性的在菜单项之间游走,比如说可能只需要遍历甜点菜单,或者可以遍历餐厅的整个菜单管理菜单的问题已经到了一个迭代器无法解决问题的新维度,我们改用“组合模式”来实现这部分组合模式允许你讲对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合使用组合结构,我们能把相同的操作应用在组合和个别对象上。换句话说,在大多数情况下 ...
如果我们允许我们的聚合实现他们内部的集合,以及相关的操作和遍历的方法,又会如何?我们已经知道这会增加聚合中的方法个数,但又怎样呢?为什么这么做不好?我们要清楚:当我们允许一个类不但要完成自己的事情(管理某种聚合),还同时要担负更多的责任(如遍历)时,我们就给了这个类2个变化的原因。没错,就是2个:如果这个集合改变的话,这个类也必须改变;如果我们遍历的方式改变的话,这个类也要跟着改变。所以我们要知道有这个设计原则:单一责任设计原则:一个类应该只有一个引起变化的原因。这个原则告诉我们,尽量让每个类保持单一责任,这听起来很容易,但其实做起来并不简单:区分设计中的责任,是最困难的事情。想要成功的唯一方 ...
blank
搜索本博客
我的相册
74954ea9-c340-34e1-932f-2da1bbea066d-thumb
P1080121.JPG
共 24 张
存档
最新评论