访问者模式

网友投稿 255 2022-12-02

访问者模式

访问者模式:常用在需要对系统添加新的功能,但是不希望破坏原有的结构,这个时候就可以使用访问者模式。使用前提是数据结构很少发生改动,同时对数据的操作可能经常会添加新的操作。

代码如下

public class test{ public static void main(String[] args) { persion p=new man("mike"); visiter v=new visiterA(); p.accept(v); p=new woman("lily"); p.accept(v); }} abstract class persion{ public String name; public persion(String name) { this.name=name; } public abstract void accept(visiter v);} class man extends persion{ public man(String name) { super(name); } public void accept(visiter v) { v.show(this); }} class woman extends persion{ public woman(String name) { super(name); } public void accept(visiter v) { v.show(this); }} abstract class visiter{ abstract void show(man m); abstract void show(woman m);} class visiterA extends visiter{ void show(man m) { System.out.println("man"); } void show(woman m) { System.out.println("woman"); }}

当软件有了新的需求的时候,只需要创建一个能够满足这样需求的特殊visiter,然后将这个visiter传给前台的具体数据对象,即可完成新的功能,同时不需要对代码结构进行修改,充分达到了数据结构与操作分离的目的。前台的代码逻辑也不需要变动。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:状态模式
下一篇:Java多线程之搞定最后一公里详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~