自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

降龍

There is some good in this world,and it's worth fighting for!!!!

  • 博客(29)
  • 资源 (16)
  • 收藏
  • 关注

转载 行为模式之Iterator

<br />这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入Collection中,直接使用Iterator进行对象遍历。

2010-05-31 23:42:00 507

转载 行为模式之Interpreter(解释器)

Interpreter定义:定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:首先要建立一个接口,用来描述共同的操作.public interface AbstractExpression {    void interpret( Context context ); } 再看看包含解释器之外的一些全局信息public i

2010-05-31 23:41:00 585

转载 行为模式之Visitor

<br />Visitor定义<br />作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.<br />在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为.<br />为何使用Visitor?<br />Java的Collection(包括Vector和Hashtable)是我们最经常使用的技术,可是Collection好象是个黑色大染缸,本来有各种鲜明类型特征的对象一旦放入后,再取出时,

2010-05-31 23:41:00 493

转载 行为模式之Mediator(中介者)

<br />Mediator定义:<br />用一个中介对象来封装一系列关于对象交互行为.<br />为何使用Mediator?<br />各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性.<br />如何使用?<br />首先 有一个接口,用来定义成员

2010-05-31 23:40:00 551

转载 行为模式之State

<br />State的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.<br />何时使用?<br />State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.<br />不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较高,我们经常会在一个数据表的尾部,加上property属性含

2010-05-31 23:39:00 425

转载 行为模式之Strategy(策略)

<br />Strategy是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.<br />Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现.<br />这里以字符串替代为例, 有一个文件,我们需要读取后,希望替代其中相应的变量,然后输出.关于替代其中变量的方法可能有多种方法,这取决于用户的要求,所以我们要准备几套变量字符替代方案.<br />

2010-05-31 23:39:00 514

转载 行为模式之Command

<br />Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对自己实际编程有指导作用.Command模式实际上不是个很具体,规定很多的模式,正是这个灵活性,让人有些confuse.<br />Command定义<br />不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作.<br />将这些命令封装成在一个类中,然后用户(调用者)再对

2010-05-31 23:38:00 398

转载 行为模式之Chain of Responsibility(职责链)

<br />Chain of Responsibility定义<br />Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request. 也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。<br />如何使用?<br />虽然这一段是如何使用CoR,但是也是演示什么是CoR.<

2010-05-31 23:37:00 481

转载 行为模式之Memento(备忘机制)

<br />Memento定义:<br />memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.<br />Memento模式相对也比较好理解,我们看下列代码:<br />public class Originator { <br /><br /> private int number; <br />private File file = null;<br />public Originator(){}<br />// 创建一个Meme

2010-05-31 23:36:00 432

原创 行为模式之Observer

<br />Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Observer(观察者)模式是比较常用的一个模式,尤其在界面设计中应用广泛,而本站所关注的是Java在电子商务系统中应用,因此想从电子商务实例中分析Observer的应用.<br />虽然网上商店形式多样,每个站点有自己的特色

2010-05-31 23:36:00 358

转载 行为模式之Template

<br />Template定义:<br />定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.<br />其实Java的抽象类本来就是Template模式,因此使用很普遍.而且很容易理解和使用,我们直接以示例开始:<br />public abstract class Benchmark<br />{<br />/**<br />* 下面操作是我们希望在子类中完成<br />*/<br />public abstract void benchmark(); <br />/*

2010-05-31 23:35:00 495

转载 结构模式之Flyweight(享元)

<br />Flyweight定义:<br />避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).<br />为什么使用?<br />面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还有一些特性是取决于应用(context),是不可共享的,这也Flyweigh

2010-05-31 23:34:00 503

转载 结构模式之Bridge

<br />Bridge定义 :<br />将抽象和行为划分开来,各自独立,但能动态的结合.<br />为什么使用?<br />通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以下两种:<br />1. 这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆形桩;这两个形状上的桩是并列的,没有概念上的重复,那么我们只要使用继承就可以了.<br /><br />2.实际应用

2010-05-31 23:33:00 522

转载 结构模式之Decorator(油漆工)

<br />Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的.<br />Decorator定义:<br />动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.<br />为什么使用Decorator?<br />我们通常可以使用继承来实现功能的拓展,如果这些需要

2010-05-31 23:32:00 488

转载 结构模式之Composite(组合)

<br />Composite定义:<br />将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.<br />Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。<br />所以Composite模式使用到Iterator

2010-05-31 23:31:00 486

转载 结构模式之Adapter(适配器)

<br />定义:<br />将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.<br />为何使用?<br />我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办? <br />使用Adapter,在这两种接口之间创建一个混合接口(混血儿).<br />如何使用?<br />实现Adapter方式,其实"think in

2010-05-31 23:30:00 619

转载 结构模式之Proxy(代理)

<br />理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣.<br />Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.<br />设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.<br />为什么要使用Proxy?<br />1.授权机制 不同级别的用户对同一对

2010-05-31 23:29:00 442

转载 结构模式之Facade(外观)

<br />Facade的定义: 为子系统中的一组接口提供一个一致的界面.<br />Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作:<br />public class DBCompare {<br />Connection conn = null;<br />  PreparedStatement prep = null;<br />  ResultSet rset = null; <br />  try {<br />     Class.for

2010-05-31 23:28:00 482

转载 创建模式之Singleton(单态)

<br />定义:<br />Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 <br />在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。<br />还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的

2010-05-31 23:27:00 442

转载 创建模式之Builder

<br />Builder模式定义:<br />将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.<br />Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节.Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到.<br />为何使用?<br />是为了将构建复杂对象的过程和它的部件解耦.注意: 是解耦过程和部件.<br />因

2010-05-31 23:26:00 429

转载 创建模式之Prototype(原型)

<br />定义:<br />用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.<br />Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。<br />如何使用?<br />因为Java中的提供clone()方法来实现对象的克隆(具体了解clone()按这里),所以Prototype模式实现一下子变得很简单.<br

2010-05-31 23:25:00 409

转载 创建模式之Factory(工厂模式)

定义:提供创建对象的接口.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。我们以类Sample为例, 如果我们要

2010-05-31 23:22:00 552

转载 学习GoF 设计模式的重要性

<br />著名的EJB领域顶尖的专家Richard Monson-Haefel在其个人网站:www.EJBNow.com中极力推荐的GoF的《设计模式》,原文如下:<br />Design Patterns<br />Most developers claim to experience an epiphany reading this book. If you've never read the Design Patterns book then you have suffere

2010-05-31 23:20:00 822

转载 正则表达式口诀

<br />非常不错的口诀,相信学习正则的朋友感觉入门很难,其实并不是想象中的难,你看下面不知道是哪位高手整理的口诀,看口诀就知道此人对正则的熟练程度非常高了。<br />正则是每个程序员绕不开的堡垒,只有把它攻下来。我觉得正则之所以难,第一难是需要记忆,第二难是要求具备抽象逻辑思维。 <br />签于网上太多的介绍都是一篇凶悍的短文,边看边理解可以,帮助记忆不行。又受五笔字型字根表口诀“白手看头三二斤...”的启发, <br />试作“正则表达式助记口诀”又名“正则打油诗”,版本0

2010-05-31 23:05:00 677

原创 一个值得终生铭记的计算题

<br />如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分别等于百分之<br />1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <br />那么<br />Hard work (努力工作) <br />H+A+R+D+W+O+R+K=8+1+18+4+23+15+18+11=98%<br /><br />Knowledge(知

2010-05-31 16:35:00 901

原创 POJ题目----X星球身份证问题

描述:在X星球上的外星人和地球上一样拥有一个长N位的身份证号码,而X星球的人使用的是一种26进制身份证号码,用a~z表示。在X星球上正在举行一次幸运者抽奖活动,X星球的政府首脑制定了一个特殊的抽奖规则,凡是身份证号码符合对称性质(回文串)的人就能够成为本次活动的幸运 者。现在你知道X星球中最大的身份证号码,希望你能够计算出最多有多少人将成为本次活动的幸运者。输入:输入数据的第一行为一个正整数N,第二行为一个长度为N的字符串,表示已知的最大身份证号码.其中 N 输出:本次活动的最大幸运人数模10000的结果.

2010-05-31 16:00:00 920

原创 关于VS的几个问题

<br />1、VS2008编译时出现:“error PRJ0003 : 生成 cmd.exe 时出错 ”的问题<br />解决方案一:工具—>选项—>项目和解决方案—>VC++目录,在可执行文件栏中加上如下三条路径:$(SystemRoot)/System32<br />                  $(SystemRoot)<br />                  $(SystemRoot)/System32/wbem<br />解决方案二:把$(PATH)改成:$(SystemRoot)/

2010-05-31 13:07:00 609 4

转载 八大排序算法总结

插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i,j;//分别为有序区和

2010-05-30 19:39:00 658

原创 因子问题

题目描述:      任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。输入:      共K+1行。第一行是一个整数K,表示共有K个案例。以后每行分别是一个案例,包括两个整数N、M。N不超过1,000,000。输出:      共K行,每行是一个整数a,代表一个案例的结果。如果某个案例中满足条件的正整数不存在,则在对应行输出-

2010-05-30 19:24:00 2211

Android设计思想

文中主要讲了如何开发性能良好的嵌入式设备软件,个人觉得还不错。

2011-07-07

SSD4选择题、Exercise、Practical Quiz全部答案

SSD4选择题、Exercise、Practical Quiz全部答案

2010-10-25

平衡二叉树插入、删除等操作的C++实现代码

用C++实现的二叉平衡树的插入、删除、中序遍历输出等操作

2010-06-15

Visual Basic 6.0 开发宝典

介绍了Visual Basic 6.0的相关知识,很全面。

2010-05-31

CHMToEXE转换工具

一款将chm文件转换为exe文件的工具,很实用!

2010-05-30

WindowBuilder 注册机

WindowBuilder是JAvA GUI中一款很好的软件,但他是收费软件,故上传其注册机与大家分享。

2009-12-25

经典算法(C&JAVA实现)

河內塔 費式數列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 騎士走棋盤 八個皇后 八枚銀幣 生命遊戲 字串核對 雙色、三色河內塔 背包問題(Knapsack Problem) 蒙地卡羅法求 PI Eratosthenes篩選求質數 超長整數運算(大數運算) 長 PI 最大公因數、最小公倍數、因式分解 完美數 阿姆斯壯數 最大訪客數 中序式轉後序式(前序式) 後序式的運算 洗撲克牌(亂數排列) Craps賭博遊戲 約瑟夫問題(Josephus Problem) 排列組合 格雷碼(Gray Code) 產生可能的集合 m元素集合的n個元素子集 數字拆解 得分排行 選擇、插入、氣泡排序 Shell 排序法 - 改良的插入排序 Shaker 排序法 - 改良的氣泡排序 Heap 排序法 - 改良的選擇排序 快速排序法(一) 快速排序法(二) 快速排序法(三) 合併排序法 基數排序法 循序搜尋法(使用衛兵) 二分搜尋法(搜尋原則的代表) 插補搜尋法 費氏搜尋法 稀疏矩陣 多維矩陣轉一維矩陣 上三角、下三角、對稱矩陣 奇數魔方陣 4N 魔方陣 2(2N+1) 魔方陣 堆疊 - 使用陣列實作 堆疊 - 使用鏈結實作(C 語言動態記憶體宣告) 堆疊 - 使用 Java 作物件封裝 佇列 - 使用陣列實作 佇列 - 使用鏈結實作(C語言動態記憶體宣告) 佇列 - 使用Java 作物件封裝 自產生程式(quine)

2009-12-25

Core Java. 8th Edition.(part2)

JAVA核心技术,包括第一卷和第二卷以及源代码。

2009-12-25

Core Java. 8th Edition.(part1)

JAVA核心技术,包括第一卷和第二卷以及源代码。

2009-12-25

JAVA实用编程100例

JAVA实用编程100例,例子比较经典,也比较有意思,学习JAVA的同学可以下来看看。

2009-12-22

用java实现的日历

用java代码写的日历,写的不错,与大家分享一下。

2009-11-25

JAVA实现汉诺塔自动演示

用java写的Applet小程序,可以实现汉诺塔,并可以自动演示。

2009-11-25

【软件加密 技术内幕】.chm

软件加密 技术内幕,教你教你软件加密技术。。。。

2009-11-22

JAVA面向对象程序设计课件

第01章-Java语言概述 第02章-Java语法基础 第03章-面向对象特征 第04章-Applet及其应用 第05章-图形用户界面设计 第06章-异常处理 第07章-线程 第08章-集合 第09章-文件输入输出 第10章-网络编程

2009-10-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除