摘要: 今天开始学习Composite模式,首先让我们看一下它的定义: 将对象组合成树形结构以表示“整体—部分”的层次结构。Composite模式使单个对象和组合对象的使用具有一致性。 下面给出这个模式的结构图: 如果把Composite模式看成是树形结构的话,那么它主要角色有: 1)树干角色(Component):该角色是一个抽象类,它定义了一些操作增删树叶(Leaf)的操作。 2)树枝角色(Composite):树枝上有很多树干,树枝也是树干的一种。 3)树叶角色(Leaf):树干上的树叶,也就是Component中的具体操作对象。 说到Composite模式,让我想到以前项目中遇到... 阅读全文
posted @ 2011-08-05 11:27 Kevin Bing 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Adapter适配器模式是一种结构型模式,主要应对:由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是,新环境要求的接口是现存对象所不满足的。《设计模式》中说道:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。在实际的生活中有很多例子,如:我们常使用的移动硬盘,无论是笔记本硬盘还是台式机硬盘,对于数据的传输都不使用Usb的数据线,外接的硬盘盒就是将原来的硬盘数据传输方式适合Usb数据线。(哎,我那个硬盘盒买的时候还190元,其实一点都不值,整个一个盒,就那个转接芯片比较值钱,我说50,人家不卖)。 先举.. 阅读全文
posted @ 2011-08-05 10:32 Kevin Bing 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣.Proxy 是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy 是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.为什么要使用Proxy?1.授权机制 不同级别的用户对同一对象拥有不同的访问权利,如Jive 论坛系统中,就使用Proxy 进行授权机制控制,访问论坛有两种人:注册用户和游客(未注册用户),Jive 中就通过类似Foru 阅读全文
posted @ 2011-08-04 15:49 Kevin Bing 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。在这里我想举一个例子:比如,现在有一辆汽车,我们(客户程序)要启动它,那我们就要发动引擎(子系统1),使四个车轮(子系统2)转动。但是实际中我们并不需要用手推动车轮使其转动,我们踩下油门,此时汽车再根据一些其他的操作使车轮转动。油门就好比系统给我们留下的接口,不论汽车是以何种方式转动车轮,车轮变化成什么牌子的,我们要开走汽车所要做的还是踩下油门。GoF《设计模式》中说道:为子系统中的一组接口提供一个一致的界面,Faca 阅读全文
posted @ 2011-08-04 15:31 Kevin Bing 阅读(205) 评论(0) 推荐(0) 编辑
摘要: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份mysqldump -hhostname -uusername -ppassword databasename | gzip &g 阅读全文
posted @ 2011-05-20 11:36 Kevin Bing 阅读(329) 评论(0) 推荐(0) 编辑
摘要: MySql5.0以后均支持存储过程,最近有空,研究了一把这个格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])[特性 ...] 过程体CREATE FUNCTION 函数名 ([函数参数[,...]])RETURNS 返回类型[特性 ...] 函数体过程参数:[ IN | OUT | INOUT ] 参数名 参数类型函数参数:参数名 参数类型返回类型:有效的MySQL数据类型即可特性:LANGUAGE SQL| [NOT] DETERMINISTIC| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DA 阅读全文
posted @ 2011-04-25 16:23 Kevin Bing 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 行注释/销注释 Ctrl+/ 块注释/销注释 Ctrl+Shift+/ Ctrl+Shift+/查找 查找替换 Ctrl+H Ctrl+F查找下一个/往回找 Ctrl+K Ctrl+Shift+K跳到某行 Ctrl+L,哈用惯了Editplus,不时会敲下Ctrl+G,查找当前元素的声明 Ctrl+G查找当前元素的所有引用 Ctrl+Shift+G重新组织Import Ctrl+Shift+O,能帮你一次去掉所有未使用的Import声明!快速修正 Ctrl+1引入某个类(接口)ctrl + shift + m加头注释 shift + alt + jctrl + shift + g:查看引用 c 阅读全文
posted @ 2011-04-23 15:09 Kevin Bing 阅读(15225) 评论(0) 推荐(1) 编辑
摘要: tomcat的默认工作目录下的webapps放的是想要挂到服务器上的项目,注意项目的第一级子目录下一定要有web.xml,WEB-INI文件夹,否则不被tomcat认为是可以挂上的项目。如webapps下的 项目server下一定要有web.xml,WEB-INI才能挂载,如果server的目录结构是这样的:|server,,,,,,|WebRoot,,,,,,,,,,,,|web.xml,,,,,,,,,,,,|WEB-INI,,,,,,,,,,,,,,,,,,|classes,,,,,,,,,,,,,,,,,,,,,,,,|HelloWorldExample.classweb.xml如下. 阅读全文
posted @ 2011-04-22 17:22 Kevin Bing 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 现在python已经到3.2版本了,官方说2.6和3都会支持,但是如果是开始学python的话,从3开始学会比较容易些,它在语法上做了一些改进。下面是安装activepython3.2,以及调出IDLE。1.下载和安装activepython3.2 http://www.activestate.com/activepython/downloads 下载完成后解压,我是解压到~目录下的,运行一下命令行 cd ActivePython-3.2.0.0-linux-x86/chmod +x install.shsudo sh install.sh 默认是安装到/opt/ActivePython-3. 阅读全文
posted @ 2011-03-19 01:08 Kevin Bing 阅读(1260) 评论(0) 推荐(0) 编辑
摘要: 环境准备:1。Windows Xp,IP:192.168.0.12。Ubuntu 10.04, IP:192.168.0.2软件安装:1。JDK 1.6,到sun公司官方网站下载完后直接安装。2。Eclispe C++开发环境.下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR2/eclipse-cpp-galileo-SR2-win32.zip,下载完后解压。3。Uniwin下载地址:http://sourceforge.net/project 阅读全文
posted @ 2011-03-11 17:09 Kevin Bing 阅读(738) 评论(0) 推荐(0) 编辑