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

大型商城网站建设网站可信认证

大型商城网站建设,网站可信认证,百度小程序优化排名,企业信用信息查询公示系统官网访问者模式是一种行为型设计模式#xff0c;它允许你定义一系列操作#xff0c;这些操作可以应用于对象结构中的元素#xff0c;而不改变这些元素的类。通过这种方式#xff0c;可以在不改变各个元素的类的情况下#xff0c;增加新的操作。 1. 何时使用访问者模式#x…访问者模式是一种行为型设计模式它允许你定义一系列操作这些操作可以应用于对象结构中的元素而不改变这些元素的类。通过这种方式可以在不改变各个元素的类的情况下增加新的操作。 1. 何时使用访问者模式 当需要对一个复杂对象结构中的各个元素进行不同的操作时。当对象结构中的类很少发生变化但经常需要在这些类上定义新的操作时。当需要对对象结构中的元素进行多种不同的处理并且这些处理需要分散在多个类中时。 2. 访问者模式的结构 访问者模式主要包含以下角色 Visitor访问者定义了对对象结构中各个元素的操作可以通过该接口实现不同的访问者来执行不同的操作。ConcreteVisitor具体访问者实现了 Visitor 接口定义了具体的操作逻辑。Element元素定义了一个接受访问者的方法通常是一个抽象类或接口可以包含多个不同的具体子类。ConcreteElement具体元素实现了 Element 接口提供了 accept 方法的具体实现。ObjectStructure对象结构包含了一个元素的集合并提供了遍历这些元素的方法。 3. Java 代码示例 让我们通过一个简单的示例来说明访问者模式的用法。假设我们有一个图形类的对象结构其中包含了不同类型的图形如圆形和矩形。我们需要对这些图形进行不同的操作如计算面积和周长。 // 定义访问者接口 interface Visitor {void visit(Circle circle);void visit(Rectangle rectangle); }// 具体访问者计算面积和周长 class AreaCalculator implements Visitor {double totalArea 0;double totalPerimeter 0;Overridepublic void visit(Circle circle) {totalArea Math.PI * circle.getRadius() * circle.getRadius();totalPerimeter 2 * Math.PI * circle.getRadius();}Overridepublic void visit(Rectangle rectangle) {totalArea rectangle.getWidth() * rectangle.getHeight();totalPerimeter 2 * (rectangle.getWidth() rectangle.getHeight());} }// 元素接口 interface Element {void accept(Visitor visitor); }// 具体元素圆形 class Circle implements Element {private double radius;public Circle(double radius) {this.radius radius;}public double getRadius() {return radius;}Overridepublic void accept(Visitor visitor) {visitor.visit(this);} }// 具体元素矩形 class Rectangle implements Element {private double width;private double height;public Rectangle(double width, double height) {this.width width;this.height height;}public double getWidth() {return width;}public double getHeight() {return height;}Overridepublic void accept(Visitor visitor) {visitor.visit(this);} }// 对象结构 class ObjectStructure {private ListElement elements new ArrayList();public void addElement(Element element) {elements.add(element);}public void removeElement(Element element) {elements.remove(element);}public void accept(Visitor visitor) {for (Element element : elements) {element.accept(visitor);}} }// 示例代码 public class Main {public static void main(String[] args) {ObjectStructure objectStructure new ObjectStructure();objectStructure.addElement(new Circle(5));objectStructure.addElement(new Rectangle(3, 4));AreaCalculator areaCalculator new AreaCalculator();objectStructure.accept(areaCalculator);System.out.println(Total Area: areaCalculator.totalArea);System.out.println(Total Perimeter: areaCalculator.totalPerimeter);} } 在上面的示例中我们定义了访问者接口 Visitor并实现了具体的访问者 AreaCalculator用于计算图形的面积和周长。同时我们定义了元素接口 Element 和具体元素 Circle 和 Rectangle并在其中实现了接受访问者的方法。最后我们定义了对象结构 ObjectStructure用于存储元素并提供了接受访问者的方法。通过这样的设计我们可以轻松地对图形进行不同的操作而无需修改图形类的代码。 通过以上介绍希望你对访问者模式有了更深入的了解并能在实际项目中灵活应用。
http://www.hkea.cn/news/14414523/

相关文章:

  • 网站设计专业就业方向有哪些苏州晶体公司网站
  • 创意上海专业网站建设网站开发和软件开发哪个难
  • 东台市住房和建设局网站山东做网站建设公司哪家好
  • 什么软件做网站好些庆阳做网站
  • 免费申请网站 免备案可以下载电影的网站怎么做
  • 网站的查询功能是怎样做的中国建筑工程人才网
  • c 网站开发怎么弹出输入框天堂网长尾关键词挖掘网站
  • 公司要做个网站吗网站建设网页的长宽
  • 网站建设要学会什么手机做任务佣金的网站
  • 苍南县规划建设局网站厦门市建设与管理局 官方网站
  • 建网站哪家质量好客户拒绝做网站的理由
  • 芜湖公司网站建设企业管理课程有哪些
  • 接帮人家做网站的网站做一个谷歌网站多少钱
  • 个人域名备案做企业网站怀来建设局网站
  • 秦皇岛网络编辑网站app网站开发哪家好
  • 网站营销计划书建一个购物网站需要什么条件
  • 东莞网站建设的方案电商网站首页开发
  • 个人网站免费域名注册企业营销型网站案例
  • 怎样搭建一个网站室内设计培训班排行榜
  • 建设手机网站费用青岛网站制作需要多少钱
  • 网站数据库建设计划书深圳北站网站建设
  • 网站自定义链接怎么做公司注册好了怎么做网站
  • 网站建设平台有哪些 谢谢平台建站做网站怎么添加关键词
  • 全县网站建设情况通报地方网站如何做
  • 数据分析平台郑州做网站优化公
  • 呼和浩特网站建设价格网站设计与开发公司
  • 一个简易网站怎么做企业建立网站的原因
  • 织梦快速建站可信网站 quot 验证能防范哪些安全.
  • 自适应网站运动div如何设置的可以打开的wap网站
  • 信誉好的武进网站建设如何删除网站备案号