自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长~点滴~~

亘古的博客

  • 博客(25)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

观察者模式

恩,今天看了一道面试题说到了观察者模式,还不是很懂,看了看书,将代码实现了一遍。 有个大致的了解了。   观察者模式的定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。   在《设计模式之禅》一书中,做着打了一个韩非子的比方,说的是这样一件事:韩非子是一个很有名的人,很多人在他身边安排了细作,监视他的一言一行,比如他吃饭了,那就通...

2011-07-25 17:08:46 86

访问者模式

今天在使用dom4j进行xml解析的时候使用到了访问者模式。 它的使用是这样的,由于dom4j的Node接口中定义了一个accept(Visitor visitor)方法,而Node虚类是dom4j中所有的节点的父类,就相当于Object类一样,但是我们对于xml中的节点的访问应该是不一样的,对于属性,我们应当访问属性名和属性值,对于元素我们应当访问元素值和元素名,对于处理指令我们又要使用不一样...

2011-07-23 16:59:32 91

Dom4j解析和创建XML文档

dom4j是一套开源的XML解析工具,完全支持DOM,SAX和JAXP机制,与传统的Xerces-J相比,dom4j更为简单易用,因此实际项目中往往采用它作为xml解析器。   dom4j只提供了java版本的,往往有很多的开源项目都使用它作为解析器比如hibernate框架。   dom4j支持多种解析机制:   DOMReader :它负责根据W3C的DOM树创建dom4j树。...

2011-07-23 11:23:45 132

备忘录模式

我更喜欢把它叫做备份模式   考虑这样一种场景:在我们做实验的时候,我们必须保证一步一步的做,并且在实验当前必须保证我前面的步骤都是正确的?不然如果出了问题,你都不知道是哪一步出的问题,好吧,如果你能保证前面的都正确,那么你在做下一步的时候,就要考虑我是不是能把情况恢复到这里,因为你下一步可能出错,所以你要有恢复的能力啊!这样你就得懂得备份,如果程序在下一步出现问题,你就用备份恢复一下。  ...

2011-07-22 15:49:12 92

门面模式

我们先来讨论一个很常见的问题。 餐馆吃饭的问题。 在有些餐馆,客人进去吃饭是需要自己找座位,自己倒茶,自己写菜单,然后将菜单交给服务员,由服务员去完成剩下的工作。 但是也有很多那种高级的餐厅,或者服务很周到的餐厅是这样做的,你一进门,就会有服务员领着你到给你安排座位(我们现在假设安排座位是专门一个部门来完成的,只是这个服务员直接问了座位部那些座位是空的,然后领着去对应的地方就可以了)。然后你...

2011-07-22 12:02:59 86

ThreadLocal类的理解与使用

在java线程中有一个很有作用的类ThreadLocal   在网上关于ThreadLocal的理解也相当的多,文章也很多,但是很多看了都让人一头雾水,有的就讲原理,有的就说概念,而且大量的转载,却很少有实例这块的。   JDK1.5之后,java引入了泛型的概念,也为ThreadLocal引入了泛型,通过泛型可以简化多线程编程时的并发访问,使用这个工具类可以很简洁的编写出有没的多线程程序...

2011-07-19 17:58:00 80

状态模式

现在有一个这样的场景。   对于TCP的连接,大家都知道,TCP是面向连接的一种通信方式,那么他有三种基本的状态 1:等待连接  2:连接   3:断开 那么每一个TCP都有这样三种操作,但是等等...如果一个TCP已经在连接状态了,那么它还能连接??显然不能,每一个TCP通信在一种状态下面只能有一种连接方式。   它的关系应当是这样的:在等待状态下只能进行连接,连接完后把状态改成连...

2011-07-18 21:42:19 75

java中断线程

上一篇博客讲过线程的中断,特别提到过interrupt()这个方法,现在来详细讲述一下这个方法,以及这个方法的用途。   JDK1.0之前,有一个方法stop()方法可以强制一个线程的中断,但是现在这个方法被废弃了,但是还是有一种方法可以请求终止一个线程,它就是interrupt()方法。   当程序运行到interrupt()方法之后,线程的(interrupt status)中断状态将...

2011-07-18 17:06:01 85

java 多线程

学习一下java多线程   实现java多线程主要有实现Runnable接口,实现run方法和继承Thread类。重写run方法。   首先说一些这两种实现方式的区别: ①Thread类在API中的定义是这样的,public class Thread extends Object implements Runnable 可以看到,Thread类是实现了Runnabl...

2011-07-18 15:55:53 91

组合模式

组合模式的定义:将对象表示 “部分---整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。   大致意思就是这样,当我们有多个类型的对象,他们有共同点有不同点,并且所处的位置也不同,有的处在第一级,有的处在第二级,但是他们有些共同点,我们将他们都抽象成一种类型,这样对他们的使用将会有一致性。   打个比方:现在又商品,商品又分为商品种类和具体的商品,而商品种类下可能还有更细致...

2011-07-18 09:47:03 89

变压器模式

适配器模式又叫做变压器模式,也叫做包装模式。   学过物理的人都知道变压器是干嘛的。把一个非常高的电压转化成一个适合电器使用的电压,或者在电线传输的时候用高压传输也要把低压电转化成高压电,这就是变压器。   那么变压器模式也是这样,把原本不配套的组件,经过一个中间件转成一个可以在合适的地方使用的组件,这就是变压器的作用。   变压器模式的定义:讲一个类的接口变换成客户端所期待的另一种接...

2011-07-17 23:32:49 258

装饰模式

装饰模式的定义是:动态的给一个对象添加一些新的职责,就增加功能来说,装饰模式比生成子类更为灵活。   装饰模式与代理模式的作用很像,都是在原有构建的基础上添加新的功能   装饰模式的角色说明:Component 抽象构建  是一个抽象类或者接口,它规定了我原始的构建应当事先说明。   ConcreteComponent 类 是以上构建的一个实现类 ,它是最需要修饰的一个类   De...

2011-07-17 17:10:02 79

责任链模式

今天学习了下责任链模式,对责任链模式有了一个初步的了解,这个模式有些复杂   比如有这样一种情况:有三个经理,A是负责人事的,B负责财务,C负责销售。他们都能对自己所管辖的领域里大大小小的事情进行处理。但是有一些新入职的职员根本不认识他俩,有的时候一个人事部的人跑去财务部领导那里报告情况,这个时候B就要把请求指引到A那里去,也有的时候B也不知道要找谁,就把请求传递给C,让C处理,C当然也没有权...

2011-07-17 11:03:55 84

策略模式

第一次接触到策略模式是在使用Spring的时候。当时接触了AOP的概念,知道了Spring中完成AOP实际上是代理模式。 默认会使用到java的动态代理机制,但是这个是有限制的,就是说只有在实现了接口的类才能被动态代理,那么没有实现接口的呢?Spring使用了CGLib,在内存中直接通过生成一个实例的时候将需要代理的东西加进去。   什么时候用动态代理,什么时候用CGLib 呢? Sprin...

2011-07-16 23:49:39 68

中介者模式

中介者模式的定义:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们的交互。   中介者模式有很广泛的应用,比如在MVC框架中,C就是一个中介者,他来协调V和M的调用,减少View和Model层得交互,在很多优秀的开源框架中都有很好的体现。   Mediator :抽象中介者角色 它定义统一的接口,用户各个同事角色之间的通信 ...

2011-07-16 16:31:12 78

原型模式

原型模式是一种很简单的设计模式 其实就是通过将一个类实现Cloneable接口并且重写clone方法,来创建一个类的多个实例。   比如说,我有一个工作需要大量的这个类的实例,但是由于创建这样一个类会花费大量的时间。一种解决方案是先创建一个类,然后通过clone方法大量复制,来得到这个类。   原型模式的定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 它是在内存...

2011-07-16 11:34:20 63

建造者模式

今天学习了建造者模式   它的定义是这样的:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示   建造者模式中,有如下四种角色 1:Product产品类 通常实现的是模板方法和基本方法 2:Builder抽象建造者,规范产品的组件,一般是由子类实现 3:ConcreteBuilder 是先抽象类定义的所有方法,并且返回一个组建好的对象 4:Director导...

2011-07-16 10:58:15 76

java 动态代理

上一次说了java的代理模式。 其实java自己就提供了动态代理帮助我们实现代理模式,他的核心思想是在编写程序时不关心程序要代理谁,而是在运行的时候才关心我要代理谁。   java.lang.reflect.InvocationHandler是JDK提供的动态代理接口,对被代理类的方法进行代理。 invoke方法是接口InvocationHandler定义必须实现的,它完成对真实方法的调用...

2011-07-15 19:37:30 73

代理模式

java中代理模式是使用最最广泛的一个模式了   在当今最流行的hibernate和Spring中都可以看到它的广泛应用。 比如说在hibernate中的延迟加载和Spring中的AOP.都有它巨大的功劳。   它的中心思想是,为其他对象提供一种代理以控制对这个对象的访问。 有三个角色,抽象主题角色,具体实现角色,代理主题角色   package com.gengu.代理; /*...

2011-07-15 17:04:30 81

模板方法模式

模板方法模式有这样的定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构既可重定义该算法的某些特定步骤。   模板方法的使用场景有: 1:多个子类有公有的方法,并且处理逻辑基本相:   2:重要重复的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现   3:重构时,模板方法模式是一个经常使用到的模式,把相同的代码抽取到父类...

2011-07-15 16:26:45 81

java 抽象工厂模式

抽象工厂模式,在很多场景下都有应用。   它有以下的优点 1:封装性,每个产品的实现类不是高层模块要关心的,它所要关心 的是接口和抽象类,他不关心对象是如何创建出来,只有工厂类去关心,只要知道工厂类是谁,我们就能得到一个需要的对象。   2:产品家族的约束为非公开状态。而抽象工厂模式针对的是多个产品等级结构。当每个抽象产品都有多于一个的具体子类的时候,工厂角色怎么知道实例化哪一个子类呢?...

2011-07-15 14:44:52 121

原创 java 简单工厂模式

简单工厂模式也是一个应用很广泛的模式,但是可扩展性没有工厂方法模式高。   简单工厂模式设计到工厂角色,抽象产品角色以及具体产品角色等   工厂类:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑,工厂类在客户端的直接调用下创建产品对象,他往往由一个具体java类实现。   抽象产品:担任这个角色的类是由工厂方法模式所创建的对象的父类,或他们共同拥有的接口。通常由一个接...

2011-07-15 13:03:46 137

原创 工厂方法模式

简单工厂模式是最广泛被使用的一个模式,伟大的Spring就大量使用了它的思想   那么为什么要使用工厂模式呢? 首先,良好的封装性,代码结构清晰,对用户屏蔽了类实体的创建过程 其次,良好的可扩展性,在增加产品类的情况下,只要适当的修改具体工厂类或者扩展一个工厂类,就可以"拥抱变化"。 再次,屏蔽产品类,产品类如何变化,调用者根本不用担心,它只关心产品的接口,只要接口保持不变,系统的上层模...

2011-07-15 12:17:36 87

原创 java 模式之单例模式

  开始研究java模式,有些东西还理解的不是很透彻   把他们记录下来加深理解,并且跟广大技术爱好者们共同探讨   单例模式,就是保证在堆中只创建某一个类的一个实例,单例模式有很多应用,比如说hibernate中的SessionFactory,比如在Spring中默认创建的类的实例都应该是单例模式的。   我觉得他是模式中最简单的之一了   有两种实现方式 1: packa...

2011-07-04 22:39:22 75

java中的方法重写

从今天开始,转战iteye了   第一篇博客想写点关于java的方法重写,百度百科给这样的定义。   1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别) 但是通过今天写了一个重写Object类...

2011-07-04 22:20:43 118

jsp + javaBean网上报名系统

这是一个完整的jsp系统,包括注册,报名,登陆,查看报名信息,前台后台等信息,下载的rar文件含有数据库文件,密码是root,

2011-04-16

c语言用图写的一个迷宫

这是我写的一个课程设计 用图写的一个迷宫 这个很高难度哦 有兴趣的下下来看看吧 可以作为课程设计直接用哦 有exe文件 有源吗

2010-06-29

用java写的一个简单的迷宫程序

简单的迷宫 实现了画图的 简单的程序

2010-06-23

jsp 写的简单的网络投票 系统

我写的一个很简单很简单的程序 刚学了一个月的程度

2010-06-23

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

TA关注的人

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