第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

訪問者模式

標(biāo)簽:
Java JavaScript C++

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的子类的难以扩展。
點(diǎn)擊查看更多內(nèi)容
14人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

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

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消