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

用php做购物网站百度分享 wordpress

用php做购物网站,百度分享 wordpress,微信小程序的功能及特点,网站专题页ps教程一、访问者模式 概述 在访问者模式#xff08;Visitor Pattern#xff09;中#xff0c;我们使用了一个访问者类#xff0c;它改变了元素类的执行算法。通过这种方式#xff0c;元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式…一、访问者模式 概述 在访问者模式Visitor Pattern中我们使用了一个访问者类它改变了元素类的执行算法。通过这种方式元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式元素对象已接受访问者对象这样访问者对象就可以处理元素对象上的操作 主要解决 解决在稳定数据结构和易变操作之间的耦合问题使得操作可以独立于数据结构变化 何时使用 当需要对数据结构中的元素进行多种操作并且这些操作之间存在一定的关联或依赖关系时可以使用访问者模式。访问者模式可以通过在访问者中保存中间结果或状态实现多个操作之间的数据共享和协作 优缺点 优点 单一职责原则访问者模式符合单一职责原则每个类只负责一项职责扩展性容易为数据结构添加新的操作灵活性访问者可以独立于数据结构变化 缺点 违反迪米特原则元素需要向访问者公开其内部信息元素类难以变更元素类需要维持与访问者的兼容依赖具体类访问者模式依赖于具体类而不是接口违反了依赖倒置原则 注意事项 访问者模式可以用于功能统一如报表生成、用户界面显示、拦截器和过滤器等 1. 各个角色介绍 1.1 访问者Visitor 定义了访问元素的接口 1.2 具体访问者Concrete Visitor 实现访问者接口提供对每个具体元素类的访问和相应操作 1.3 元素Element 定义了一个接受访问者的方法 1.4 具体元素Concrete Element 实现元素接口提供一个accept方法允许访问者访问并操作 1.5 对象结构Object Structure可选 定义了如何组装具体元素如一个组合类 2. UML图 ​ 我们将创建一个定义接受操作的 ComputerPart 接口。Keyboard、Mouse、Monitor 和 Computer 是实现了 ComputerPart 接口的实体类。我们将定义另一个接口 ComputerPartVisitor它定义了访问者类的操作。Computer 使用实体访问者来执行相应的动作 3. 具体例子和代码 角色分配 ComputerPart电脑零件 Computer电脑 Keyboard键盘 Monitor显示器 Mouse鼠标 ComputerPartVisitor电脑零件访问者 ComputerPartDisplayVisitor电脑零件展示访问者 3.1 访问者接口及其实现类 ComputerPartVisitor package com.vinjcent.prototype.visitor;/*** author vinjcent* description 电脑零件访问者访问者角色* since 2024/6/5 19:43*/ public interface ComputerPartVisitor {/*** 访问电脑** param computer 电脑*/void visit(Computer computer);/*** 访问鼠标** param mouse 鼠标*/void visit(Mouse mouse);/*** 访问键盘** param keyboard 键盘*/void visit(Keyboard keyboard);/*** 访问显示器** param monitor 显示器*/void visit(Monitor monitor);} ComputerPartDisplayVisitor package com.vinjcent.prototype.visitor;/*** author vinjcent* description 电脑零件展示访问者* since 2024/6/5 20:00*/ 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.);}} 3.3 测试主函数 package com.vinjcent.prototype.visitor;/*** author vinjcent* description 访问者模式* since 2024/6/5 20:07*/ public class Main {public static void main(String[] args) {ComputerPart computer new Computer();computer.accept(new ComputerPartDisplayVisitor());}} 测试结果 4. 使用场景 当需要对一个对象结构中的对象执行多种不同的且不相关的操作时尤其是这些操作需要避免污染对象类本身
http://www.dnsts.com.cn/news/218194.html

相关文章:

  • 宁波seo网站建设费用现在做电商还能赚钱吗
  • 建设自己公司的网站首页兰州市住房保障和城乡建设局网站
  • 杭州有没有专业做网站的公司ps网站主页按钮怎么做
  • 网站设计公司有用吗长春建网站一般要多少钱
  • 用自己的电脑建网站国内最好的网站建设公司
  • 查看网站有多少空间如何找到网站管理员
  • 北京酷站科技有限公司51网站空间相册
  • 网站建设易客ppt做书模板下载网站有哪些
  • 东莞建设网站公司哈尔滨市公共资源交易中心
  • 一个网站开发环境是什么wordpress怎么加动态背景图图片
  • 旅游景区网站建设的意义南京做网站公司 雷仁
  • 公司网站建设ihanshi用自己主机做网站视频
  • 如何自己建设电影网站浙江网站建设情况分析
  • 网站开发和前端和数据媒体服装网站建设策划书预期投入
  • 深圳网站建设968网站有二维码吗
  • 网站设计基础青岛网站制作永诚
  • 成都装修建材网站建设网站建设学习 服务器
  • 松原公司做网站滨湖区知名做网站选哪家
  • 公司做免费网站教育机构网站模板
  • 本地wordpress无法打开网站怎样做网络推广教学设计
  • 团购网站及域名wordpress 文章 格式
  • 佛山高端网站建设工作室制作一个公司网页多少钱
  • 巩义做网站汉狮网络螺蛳粉的软文推广
  • 鞍山信息港官网做优化的网站用什么空间好
  • 手机网站设计立找亿企邦网站域名如何实名认证
  • 兰州哪里做网站友情下载网站
  • 工程建设项目网站什么是网上商店
  • 一级a做片性视频 网站在线观看哈尔滨最新政策
  • 吴兴网站建设python 网站开发入门
  • 北京网站建设那家好大丰做网站的公司