当前位置: 首页 > news >正文

沧州网站优化公司百度推广获客方法

沧州网站优化公司,百度推广获客方法,设计素材网站推荐2023,香港台湾人做攻略用什么网站在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就…

在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。

意图:主要将数据结构与数据操作分离。

主要解决:稳定的数据结构和易变的操作耦合问题。

何时使用:需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,使用访问者模式将这些封装到类中。

如何解决:在被访问的类里面加一个对外提供接待访问者的接口。

关键代码:在数据基础类里面有一个方法接受访问者,将自身引用传入访问者。

应用实例:您在朋友家做客,您是访问者,朋友接受您的访问,您通过朋友的描述,然后对朋友的描述做出一个判断,这就是访问者模式。

优点: 1、符合单一职责原则。 2、优秀的扩展性。 3、灵活性。

缺点: 1、具体元素对访问者公布细节,违反了迪米特原则。 2、具体元素变更比较困难。 3、违反了依赖倒置原则,依赖了具体类,没有依赖抽象。

使用场景: 1、对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。 2、需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,也不希望在增加新操作时修改这些类。

注意事项:访问者可以对功能进行统一,可以做报表、UI、拦截器与过滤器。

public interface ComputerPart {void accept(ComputerPartVisitor computerPartVisitor);
}
public class Keyboard implements ComputerPart{@Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {computerPartVisitor.visit(this);}
}
public class Monitor implements ComputerPart{@Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {computerPartVisitor.visit(this);}
}
public class Mouse implements ComputerPart{@Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {computerPartVisitor.visit(this);}
}
public interface ComputerPartVisitor {void visit(Computer computer);void visit(Mouse mouse);void visit(Keyboard keyboard);void visit(Monitor monitor);
}
public class ComputerPartDisplayVisitor implements ComputerPartVisitor {@Overridepublic void visit(Computer computer) {System.out.println("Displaying Computer.");}@Overridepublic void visit(Mouse mouse) {System.out.println("Displaying Mouse.");}@Overridepublic void visit(Keyboard keyboard) {System.out.println("Displaying Keyboard.");}@Overridepublic void visit(Monitor monitor) {System.out.println("Displaying Monitor.");}
}

@Test
public void test20(){ComputerPart computer = new Computer();computer.accept(new ComputerPartDisplayVisitor());
}

Displaying Mouse.
Displaying Keyboard.
Displaying Monitor.
Displaying Computer.

http://www.ds6.com.cn/news/48054.html

相关文章:

  • 人才交流中心招聘网站建设方案深圳全网营销型网站
  • 重庆江北网站建设淘宝seo软件
  • 经常用表格进行页面布局seo服务建议
  • 网站设计布局怎么做ppt
  • 做网站那些好谷歌推广优化
  • 营销网站的优点制作网页app
  • 微网站建设云帆网络长春网站优化咨询
  • 企业模板免费下载优化大师官网
  • 衡阳市住房和城乡建设部网站营销策划方案ppt
  • 青岛即墨网站开发软文推广的标准类型
  • 深圳商城网站开发技术培训
  • 网页登录qq入口seo培训网
  • 中卫市网站开发制作b2b电子商务网站
  • 企业网站架构2022年7到8月份的十大新闻
  • 网站建设专业性网站建设的好公司
  • 手机网站建设设计网络营销产品概念
  • 福建省网站建设方案书最新网站推广方法
  • 我的世界做弊端网站网络营销的优势有哪些?
  • 宣传旅游网站建设的重点是什么百度seo排名360
  • 母婴类网站怎么建设全网搜索
  • 阿里云有了域名 网站建设百度提问登陆入口
  • 湖州市城乡建设局网站引流获客工具
  • 哔哩哔哩网站开发图片营销渠道有哪几种
  • 百度怎么做公司的网站优就业seo课程学多久
  • 网站建设确认单seo研究中心南宁线下
  • 一流本科专业建设点网站百度广告投放平台
  • 在线定制家具青岛谷歌优化
  • 肥乡网站建设企业如何网络推广
  • 南昌seo计费管理手机系统优化软件
  • 广州网站建设找哪里网站统计分析平台