下载 23种设计模式源码 :http://download.csdn.net/download/knight_black_bob/8936043
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
创建型模式,共五种:
工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式
结构型模式,共七种:
适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式
行为型模式,共十一种:
策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package 设计模式.访问者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:02:46 * des: */ public interface Visitable { public void accept(Visitor visitor); }
package 设计模式.访问者模式; import java.util.Collection; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:03:07 * des: */ public interface Visitor { public void visitString(StringElement stringE); public void visitFloat(FloatElement floatE); public void visitCollection(Collection collection); }
package 设计模式.访问者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:04:06 des: */ public class StringElement implements Visitable { private String value; public String getValue() { return value; } public StringElement(String value) { this.value = value; } @Override public void accept(Visitor visitor) { visitor.visitString(this); } }
package 设计模式.访问者模式; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:04:30 * des: */ public class FloatElement implements Visitable { private Float value; public Float getValue() { return value; } public FloatElement(Float value) { this.value = value; } @Override public void accept(Visitor visitor) { visitor.visitFloat(this); } }
package 设计模式.访问者模式; import java.util.Collection; import java.util.Iterator; /** * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午10:05:29 * des: */ public class ConcreteVisitor implements Visitor { @Override public void visitString(StringElement stringE) { System.out.println("i'm a string ,value is "+ stringE.getValue()); } @Override public void visitFloat(FloatElement floatE) { System.out.println("i'm a float ,value is "+ floatE.getValue()); } @Override public void visitCollection(Collection collection) { Iterator iterator = collection.iterator(); while (iterator.hasNext()) { Object o = iterator.next(); if (o instanceof Visitable) { ((Visitable) o).accept(this); } } } }
package 设计模式.访问者模式; import java.util.ArrayList; import java.util.Collection; /** * * @author baoyou E-mail:curiousby@163.com * @version 创建时间:2015年7月27日 上午9:51:23 * des: */ public class VisitorTest { public static void main(String[] args) { Visitor v = new ConcreteVisitor(); StringElement se = new StringElement("BAOYOU"); v.visitString(se); Collection list = new ArrayList<>(); list.add(new StringElement("baoyou")); list.add(new StringElement("baoyou2")); list.add(new FloatElement( new Float(12))); v.visitCollection(list); } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
访问者模式,你绝对会用到的模式,值得学习,通俗易懂的实例,原理和运用都说明白了。
java设计模式之访问者模式,通过实际例子说明访问者模式原理和适用场景;
设计模式之访问者模式Java版本的实现和UML类图
java 设计模式之访问者模式.rarjava 设计模式之访问者模式.rar
23种设计模式之访问者模式对访问者模式进行了简单的介绍,并附带了例子程序,和大家分享
访问者模式(Visitor) 用意:适用于数据结构相对未定的系统,把数据结构和作用于结构上的操作间的耦合解开。
表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
访问者模式是一种将数据操作与数据结构分离的设计模式,它是《设计模式》中23种设计模式中最复杂的一个,但它的使用频率并不高,正如《设计模式》的作者GOF对访问者模式的描述:大多数情况下,你不需要使用访问者...
本文实例讲述了JS设计模式之访问者模式定义与用法。分享给大家供大家参考,具体如下: 在访问者模式中,主要包括下面几个角色 1、抽象访问者:抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit...
设计模式C++学习之访问者模式(Visitor)
NULL 博文链接:https://wy649898543.iteye.com/blog/1436414
主要介绍了C++设计模式之访问者模式,本文讲解了什么是访问者模式、访问者模式的UML类图、访问者模式的实现代码等内容,需要的朋友可以参考下
主要介绍了JAVA设计模式之访问者模式详解,访问者模式是对象的行为模式,访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,需要的朋友可以参考下
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
设计模式 - 访问者模式
主要介绍了JAVA设计模式之访问者模式,简单说明了访问者模式的原理,并结合实例分析了java访问者模式的定义与用法,需要的朋友可以参考下
主要帮助大家轻松掌握python设计模式之访问者模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
设计模式-访问者模式(讲解及其实现代码)