亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

訪問者模式

23种模式是我考初级程序员时知道并学习的。我也是个小白,然后听说设计模式之禅是很好读懂得书适合小白。所以我主要从这里学得。


访问者模式是一个很简单的模式,可能是书的问题。它让我也感到简单。其定义如下:封装一些作用于某中数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。
在我看来,就是定义一个类A,这个类可以是个接口 ,然后你另外定义一个类或接口V,(一般是接口,因为我们java是面向对象的编程或者说是面向接口编程)。,然后里面包含了一些数据的操作和运算。类A和类B是组合关系吧,是一对朋友类。所以类A里必有一个函数接受类B对象然后调用类B的函数,类B被调用的函数是类A对象作为参数。然后就可以在类B里计算类A中的数据和对数据的操作。

输入代码`
public class Element
{
public void accpet (Visitor v)
{
v.visit(Element E);
}
doSomething()
{
}
}
public class Visitor
{
public void visit(Element e)
{
原来类A对数据的操作
e.doSomething();
可以在这里添加新的操作
}
}

访问者模式的优点:

  1. 符合单一职责原则
    说白了就是Element的每个子类只对数据的加载,而Visitor 类则负责展示数据
    2.优秀的扩展性
    如果要添加领一种数据展示样式只要Visitor类添加一个方法就可以了,而不干扰到Element类。
    访问者模式的缺点:
    1.违背了依赖倒置原则,访问者依赖的是具体元素而不是接口或抽象元素,对Element的子类的难以扩展。
點擊查看更多內容
14人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消