java 设计模式
a107494639
学生,热爱学习
展开
-
java 设计模式之二-观察者模式
我想玩过魔兽世界的人,在分装备的时候,往往团长手黑就不说了,Roll点也各种悲剧啊.... 这里以roll点为例子,一个团队里的人,分东西的时候,采取Roll点的方法,谁Roll的点高,谁就可以拿装备。只有团队里的人才能够看到团队里的人ROLL的点数,不在团队里的人就看不到,这是如何实现的呢?就需要用到观察着模式了。比如说,有个门卫把守住一个旅馆,每一个进入旅馆的人,这个门卫就把他列入名单,当旅原创 2012-05-09 16:53:34 · 974 阅读 · 0 评论 -
java 设计模式之一工厂模式
这里我要写的整个设计模式的学习日志,我想以魔兽世界这个游戏里的内容来比喻,虽然不爱玩了,不过,提高趣味性,我认为对学习很有帮助。 玩魔兽世界,最开始的时候是干什么呢?答案当然是建人物了,在这里,我们认为是有一个“创建人物工厂”,这个工厂的作用就是,你告诉它,你要创建血精灵妹纸,那它就给你个血精灵妹纸,你告诉它你要创建矮人大妈,那它就给你创建一个矮人大妈,那如何实现这个工厂呢?我这里思考了两种方案原创 2012-05-09 16:14:49 · 1525 阅读 · 2 评论 -
java 设计模式之三-模版模式
新的一天,天气不错,坚持、努力、加油! 今天想说的是模版模式,其实这个模式大家都常用,只是可能不知道还有“模版模式”这么一个称呼而已,使用继承的方式来实现,父类为模版,子类根据不同的特点来继承和修改。魔兽世界里每个职业都有三个天赋,比如法师就有火法、奥法、冰法,不管你是什么法师,你都有一些法师的基础技能,比如传送门和造食术等,但是当你选择了不同的天赋,就会拥有新的且必须是该天赋才拥有的特殊的技能原创 2012-05-10 10:24:22 · 931 阅读 · 0 评论 -
java 设计模式之五-单例模式
单例模式是比较简单的模式,在团队副本中,BOSS被击杀之后,每个队员我摸尸体,看到的掉落装备都是一样的,此时这个BOSS的尸体就可以用单例模式实现。在尸体未消失之前,即使你除了副本,然后再进来,还是这具尸体。 单例模式的特征是某个对象只有唯一实例存在。 实现单例模式的要点有几个: 1.该类本身构造私有化 2.自己创建一个实例,然后提供接口给外部访问 package single;原创 2012-05-11 09:52:59 · 1217 阅读 · 0 评论 -
java 设计模式之六-责任链模式
不知道大家都写过宏没有,就是一个键绑定多个技能。如果排在前面的技能有CD,则跳过此技能,会执行之后的技能。记得曾经玩DK,打怪的时候,就是用一个键,一直按就行了。在servlet里的doGet和doPost方法,我们一把都把doGet请求发动到doPost里来处理,这也是一种责任链的模式。 这里,有个宏,绑定了 冰血冷脉和寒冰箭,两个技能: package responsibility; /原创 2012-05-12 09:47:06 · 1119 阅读 · 0 评论 -
java 设计模式之四-代理模式 java静态代理和动态代理
拿魔兽世界的拍卖行来比喻,假设最早的版本的拍卖行只有最两个基本的功能,买东西和卖东西。而在后续的版本中慢慢添加一些判断或者条件限制等功能,比如要先判断你是否有足够的钱来买这个商品、这个商品是否还存在、这个商品是否过期等等一些前置处理或者后置处理功能。你有这么几个选择: 1.修改原来的拍卖行这个类。 2.新建一个子类,来重写这个方法。 3.新写一个代理类来实现。 这三个方法都可以使用,不过如原创 2012-05-10 15:33:46 · 1015 阅读 · 0 评论 -
java 设计模式之八-创建者模式
创建者模式和工厂模式有点类似,不过关注点不同。工厂模式往往只关心你要的是什么,二不关心这个东西的具体细节是什么。而创建模式则关心的是这个东西的具体细节的创建。拿创建人物来说,我们关心的不仅是创建一个人物,还要关心他的性别,肤色和名字,则可以使用创建者模式: package builder; /** * * DOC 种族角色 * */ public class Race {原创 2012-05-15 11:40:28 · 3231 阅读 · 2 评论 -
java 设计模式之七-适配器模式
这里说两种适配器模式 1.类适配模式 在地球时代,所有坐骑都是只能跑,不能飞的,而现在很多坐骑在地球都可以飞了。假设,地球时代的坐骑只能跑,而现在的坐骑不仅能飞还能跑,我们可以用类适配模式来实现,要点是,适配器继承源类,实现目标接口: package adapter; /** * DOC 源 * */ public class Sources { public v原创 2012-05-15 11:06:01 · 4156 阅读 · 1 评论