JAVA设计模式
vincentzhao2009
爱编程
展开
-
JAVA设计模式-Observer
Java提供了Observer模式的默认实现,下面我们就看一下Java对观察者模式的支持。 Java对观察者模式的支持主要体现在Observable类和Observer接口。转载 2011-02-24 15:43:00 · 2311 阅读 · 0 评论 -
JAVA设计模式-Prototype
Prototype是很容易理解也很容易使用的一个设计模式,他的意思就是说,我给你一个原型,你照着这个原型给我做一个就行了,至于做好之后我要怎么去修改它让他符合新的需求,这就不管Prototype模式的事了。原创 2011-02-17 11:09:00 · 1500 阅读 · 1 评论 -
JAVA设计模式-Adapter
有些时候,我们想要使用一些类的某个功能,但是发现这个类提供的接口不符合我们的要求,这个时候就需要让这个接口符合要求,最直接想到的办法就是去改这个接口,但是这个办法明显违背了面向对象的原则。所以,为了解决这个办法,就提出了Adapter模式。Adapter模式分为两种,一种是类Adapter,一种是对象Adapter,后面将对这两种方法进行详细的解释。原创 2011-02-17 13:43:00 · 925 阅读 · 0 评论 -
JAVA设计模式-Builder
Builder设计模式类似于Factory,都是用于生产一种产品,但是他们之间还是有一些区别的。至于有什么区别,仁者见仁,智者见智,我会在介绍完Builder模式之后说说我自己的看法,当然我的想法也参考了很多其他人的看法。原创 2011-02-16 16:26:00 · 8556 阅读 · 3 评论 -
JAVA设计模式-Proxy
代理意思就是说有人帮你做一件事情。为什么用代理,怎么在JAVA里用代理模式,看了就明白了。原创 2011-02-18 10:42:00 · 930 阅读 · 0 评论 -
JAVA设计模式-FlyWeight
总的来说,其实就一句话,FlyWeight保证没有相同的对象,Singleton保证只有一个对象。原创 2011-02-23 15:08:00 · 1223 阅读 · 0 评论 -
JAVA设计模式-Command
Command模式就像linux的shell命令一样,输入一条命令,它就能执行相应的操作。例如,我们想要打开电视机,我们不需要用tv.turnOn()这样的方法来打开,而是类似command.exe("turn on the TV")这样的语句。把命令封装起来有一个好处,我们可以记录下执行过哪些命令,在什么时间执行的,是谁执行的。当然,不使用命令模式也可以实现这样的功能,我们只需要在类似tv.turnOn()这个方法内部加上log就行了,或者是我们在客户端加上log。虽然这是一个解决方案,但是不是最原创 2011-02-23 15:27:00 · 812 阅读 · 0 评论 -
JAVA设计模式-Decorator
刚看了一篇博客,讲装饰器模式的,我觉得写得很清楚,我自己就没写了,只是把代码整理了一下,顺便说一下,所有设计模式的代码我都进行了整理,后面我会放到csdn上,这些代码大多数来时internet,但是我会把代码进行简化,让它能够突出设计模式的概念。下面是转帖的内容。转载 2011-02-23 11:18:00 · 1044 阅读 · 0 评论 -
JAVA设计模式-Composite
JAVA的这个模式实际就是构造一个树,构造了这棵树之后,它就能做树能做的所有事情了。原创 2011-02-23 10:27:00 · 706 阅读 · 0 评论 -
JAVA设计模式-Bridge
1.把描述一个事物的所有维度放在一个类里面; 2.在某个或者某些维度的长度增加或者减少或者改变时,不能更改原有的类。原创 2011-02-21 20:58:00 · 1362 阅读 · 0 评论 -
JAVA设计模式-Factory
工厂模式一共分为三种,分别是:简单工厂模式,工厂方法模式和抽象工厂模式。原创 2011-02-16 12:39:00 · 1176 阅读 · 0 评论 -
JAVA设计模式-Singleton
近来一直在研究JAVA的设计模式,看了很多别人的文章和源码,自己也写了一些,算是有一些认识吧,我想要把这些想法都记录下来。23个设计模式算很多了,希望我能有时间,也有毅力能够坚持下来。下面就是第一个设计模式,Singleton。原创 2011-02-15 09:24:00 · 859 阅读 · 1 评论 -
JAVA设计模式-Iterator
Iterator模式JAVA已经在JDK里面帮助我们实现了,使用起来也很容易,看个例子就行了。原创 2011-02-24 16:13:00 · 1760 阅读 · 0 评论 -
JAVA设计模式-Template
Template这个模式就是说规定好了做一件事情的框架,但是每一步具体怎么做是空出来的。原创 2011-02-24 17:15:00 · 691 阅读 · 0 评论 -
JAVA设计模式-Strategy
策略模式让用户可以选择执行一个动作的方法,也就是说,用户可以选择不同的策略来进行操作。例如排序,用户可以选择较大的放前面,也可以选择较小的放前面,或者是按照自定义的顺序来放,这个自定义的顺序必须按照一定的策略得到,用户必须自己实现这样的策略。原创 2011-02-25 16:28:00 · 679 阅读 · 0 评论 -
JAVA设计模式-Chain of Responsibility
职责链模式顾名思义是一个链条,在这个链条上的所有节点都可以处理请求,但是在某一种情况下,哪一个节点来处理这个请求是运行时决定的,但是客户端不需要知道具体是谁来处理,他只需要将请求交给一个节点就行了,当这个节点可以处理时,它就处理并返回给客户端,当它不能处理时,将这个请求传给职责链上的下一个节点,依次下去,直到请求被处理或者达到链条的最后一个节点。原创 2011-03-01 20:57:00 · 893 阅读 · 0 评论 -
JAVA设计模式-Mediator
中介模式实际就像是房屋中介一样,中介维护了一个列表,这个列表包含了各个客户的房屋信息,当某一个客户的房屋信息有了改变之后,这个中介就负责通知自己维护的那个列表中的所有用户某某某进行了改变。原创 2011-03-01 22:11:00 · 716 阅读 · 0 评论 -
JAVA设计模式-Visitor
作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作. 在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为.转载 2011-03-03 17:16:00 · 1636 阅读 · 0 评论 -
JAVA设计模式-State
一个对像有不同的状态,不同的状态有不同的行为。也许你会说在方法里加上switch case语句就行了,这样的确能实现这样的方法,但是,就像前面一些设计模式的目的一样,这种方法不具可扩展性,因此我们需要一种设计模式来实现这个功能,并且需要提供可扩展性,因此,就有了状态模式。原创 2011-03-02 20:10:00 · 837 阅读 · 0 评论 -
JAVA设计模式-Interpreter
解释器模式实现一个简单的文法分析器,个人认为使用不是很广泛。简单的来说,就是它定义了对象与对象之间进行某种操作之后会得到什么值。学过编译原理之后,会对这个模式有更深刻的理解。原创 2011-03-02 20:39:00 · 2295 阅读 · 0 评论 -
JAVA设计模式-Memento
Memento设计模式用来备份一个对象的当前状态,当需要的时候,用这个备份来恢复这个对象在某一个时刻的状态。原创 2011-03-03 15:47:00 · 939 阅读 · 0 评论 -
JAVA设计模式-Facade
Facade模式翻译成零售商模式我想更加容易理解。当你想要买一块香皂的的时候,你肯定不会去香皂厂买,而是去超市买,同样,买衣服买手机都不会去厂家,而是去零售商家。原创 2011-02-22 20:17:00 · 1878 阅读 · 0 评论