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

php 视频播放网站开发网站建设 首选百川互动

php 视频播放网站开发,网站建设 首选百川互动,广州网页模板建站,个人做seo怎么赚钱Java访问者模式 摘要实现范例 访问者模式#xff08;Visitor Pattern#xff09;使用了一个访问者类#xff0c;它改变了元素类的执行算法#xff0c;通过这种方式#xff0c;元素的执行算法可以随着访问者改变而改变访问者模式中#xff0c;元素对象已接受访问者对象Visitor Pattern使用了一个访问者类它改变了元素类的执行算法通过这种方式元素的执行算法可以随着访问者改变而改变访问者模式中元素对象已接受访问者对象这样访问者对象就可以处理元素对象上的操作模板模式属于行为型模式 摘要 1. 意图 主要将数据结构与数据操作分离 2. 主要解决 稳定的数据结构和易变的操作耦合问题。 3. 何时使用 需要对一个对象结构中的对象进行很多不同的并且不相关的操作而需要避免让这些操作”污染”这些对象的类使用访问者模式将这些封装到类中 4. 如何解决 在被访问的类里面加一个对外提供接待访问者的接口 5. 关键代码 在数据基础类里面有一个方法接受访问者将自身引用传入访问者 6. 应用实例 您在朋友家做客您是访问者朋友接受您的访问您通过朋友的描述然后对朋友的描述做出一个判断这就是访问者模式 7. 优点 符合单一职责原则优秀的扩展性灵活性 8. 缺点 具体元素对访问者公布细节违反了迪米特原则具体元素变更比较困难违反了依赖倒置原则依赖了具体类没有依赖抽象 9. 使用场景 对象结构中对象对应的类很少改变但经常需要在此对象结构上定义新的操作需要对一个对象结构中的对象进行很多不同的并且不相关的操作而需要避免让这些操作“污染”这些对象的类也不希望在增加新操作时修改这些类 10. 注意事项 访问者可以对功能进行统一可以做报表、UI、拦截器与过滤器 实现 创建一个定义接受操作的ComputerPart接口定义类Keyboard、Mouse、Monitor和Computer实现ComputerPart接口定义另一个接口ComputerPartVisitor它定义了访问者类的操作定义类Computer使用实体访问者来执行相应的动作定义类VisitorPatternDemo使用Computer、ComputerPartVisitor类来演示访问者模式的用法 范例 1. 定义一个表示元素的接口 ComputerPart.java package com.demo.gof; public interface ComputerPart {public void accept(ComputerPartVisitor computerPartVisitor); }2. 创建扩展了上述类的实体类 Keyboard.java package com.demo.gof; public class Keyboard implements ComputerPart {Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {computerPartVisitor.visit(this);} }Monitor.java package com.demo.gof; public class Monitor implements ComputerPart {Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {computerPartVisitor.visit(this);} } Computer.java package com.demo.gof; public class Computer implements ComputerPart {ComputerPart[] parts;public Computer(){parts new ComputerPart[] {new Mouse(), new Keyboard(), new Monitor()}; } Overridepublic void accept(ComputerPartVisitor computerPartVisitor) {for (int i 0; i parts.length; i) {parts[i].accept(computerPartVisitor);}computerPartVisitor.visit(this);} } 3. 定义一个表示访问者的接口 ComputerPartVisitor.java package com.demo.gof; public interface ComputerPartVisitor {public void visit(Computer computer);public void visit(Mouse mouse);public void visit(Keyboard keyboard);public void visit(Monitor monitor); }4. 创建实现了上述类的实体访问者 ComputerPartDisplayVisitor.java package com.demo.gof; 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.);} }5. 使用 ComputerPartDisplayVisitor 来显示 Computer 的组成部分 VisitorPatternDemo.java package com.demo.gof; public class VisitorPatternDemo {public static void main(String[] args) {ComputerPart computer new Computer();computer.accept(new ComputerPartDisplayVisitor());} }编译运行以上 Java 范例输出结果如下 $ javac -d . src/main/com.demo/gof/VisitorPatternDemo.java $ java com.ddkk.demo.VisitorPatternDemo Displaying Mouse. Displaying Keyboard. Displaying Monitor. Displaying Computer.
http://www.hkea.cn/news/14517336/

相关文章:

  • 织梦网站地图html怎么做订单网站模块
  • 单页营销型网站模板市场监督管理局待遇如何
  • 天津网站建设举措做什么网站能吸引流量
  • python在线网站自己开发游戏需要学什么
  • 如何避免网站被耍流量附近计算机培训班咨询
  • 郑州 做网站哈尔滨建站平台详细解读
  • 黄页网页的推广网站个人网站做外链方法
  • 学习建网站玩网站建设学习wordpress 编辑器字体
  • 网站开发人员的行业分析aspnet网站开发例题
  • 广州网站排名怎样开发一个app软件
  • 广州做网站海珠新科怀化建设企业网站
  • qingdao城乡住房建设厅网站网站建设与管理领导小组
  • 手机网站建设图片百度申请微信号免费注册
  • 聊城做网站的公司案例wordpress如何关闭主题
  • 做网站 注意朔州做网站的
  • 西安知名的集团门户网站建设公司通化公司做网站
  • 网站建设资料怎么在主机上的建设网站
  • 开封网站建设公司排名wordpress点击文字弹出层
  • 注册网站模板河北建设厅网站登陆怎么找附件
  • 做网站友情链接的步骤湖南个人网络营销订制
  • 专业的网站建设网络有哪些电商网站
  • 福建泉州网站建设公司订阅号怎么做网站
  • 知名网站建设是哪家便宜百度推广费
  • 中企动力做的网站怎么样哈尔滨网站建设哪家好
  • 唐山网站建设最好的成品短视频app大全
  • 最新网站域名ip地址查询郑州网站技术顾问
  • 扬州网站建设费用可用的国外ip地址
  • 福永专业外贸网站建设公司扫码进入网站 怎么做
  • 摄影师的网站有哪些做慕斯蛋糕那个网站有视频
  • 网站关键词找不到网页中的交互设计案例