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

如何建立一个公网可以访问的网站品牌策划与管理

如何建立一个公网可以访问的网站,品牌策划与管理,wordpress 去掉category,给手机做网站的公司小谈设计模式#xff08;29#xff09;—访问者模式 专栏介绍专栏地址专栏介绍 访问者模式角色分析访问者被访问者 优缺点分析优点将数据结构与算法分离增加新的操作很容易增加新的数据结构很困难4 缺点增加新的数据结构比较困难增加新的操作会导致访问者类的数量增加34 总结… 小谈设计模式29—访问者模式 专栏介绍专栏地址专栏介绍 访问者模式角色分析访问者被访问者 优缺点分析优点将数据结构与算法分离增加新的操作很容易增加新的数据结构很困难4 缺点增加新的数据结构比较困难增加新的操作会导致访问者类的数量增加34 总结 Java程序示例要求首先我们定义一个抽象的图形类Element其中包含一个接受访问者的方法 accept()以及一个抽象的计算面积和周长的方法 calculate()。接下来我们定义一个访问者接口Visitor其中包含了访问圆形和矩形的方法 visit()。然后我们实现具体的访问者类AreaVisitor和PerimeterVisitor分别用于计算图形的面积和周长。最后我们可以在客户端代码中使用访问者模式来计算图形的面积和周长。程序分析 总结 专栏介绍 专栏地址 http://t.csdnimg.cn/VpriY 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结希望有兴趣的小伙伴们可以看一下会持续更新的。希望各位可以监督我我们一起学习进步加油各位 访问者模式 访问者模式是一种行为型设计模式它允许你将算法与一个对象结构分离开来。通过这种方式可以在不改变对象结构的情况下向对象结构中添加新的操作。 角色分析 访问者Visitor和被访问者Element 访问者 定义了一组可以访问不同类型被访问者的方法 被访问者 定义了接受访问者的方法。访问者通过被访问者的接口访问被访问者并对其进行操作。 优缺点分析 优点 将数据结构与算法分离 访问者模式可以将数据结构与算法分离使得算法可以独立于数据结构而变化提高了代码的可维护性和可扩展性。 增加新的操作很容易 当需要增加新的操作时只需要增加一个新的访问者类即可不需要修改原有的代码。 增加新的数据结构很困难 当需要增加新的数据结构时需要修改所有的访问者类因此增加新的数据结构比较困难。 4 访问者模式符合单一职责原则和开闭原则 缺点 增加新的数据结构比较困难 当需要增加新的数据结构时需要修改所有的访问者类因此增加新的数据结构比较困难。 增加新的操作会导致访问者类的数量增加 当需要增加新的操作时需要增加一个新的访问者类因此访问者类的数量会增加。 3 导致系统变得复杂增加了代码的阅读难度。 4 访问者模式需要对数据结构进行抽象增加了系统的抽象性和理解难度。 总结 访问者模式适用于数据结构相对稳定但是经常需要增加新的操作的场景同时访问者模式也需要权衡系统的复杂度和可维护性。 Java程序示例 要求 为一个图形库添加一个新的功能即计算图形的面积和周长。我们可以使用访问者模式来实现这个功能。 首先我们定义一个抽象的图形类Element其中包含一个接受访问者的方法 accept()以及一个抽象的计算面积和周长的方法 calculate()。 abstract class Shape {public abstract void accept(Visitor visitor);public abstract void calculate(); } ### 然后我们定义两个具体的图形类圆形和矩形它们都继承自图形类。 java class Circle extends Shape {private double radius;public Circle(double radius) {this.radius radius;}public double getRadius() {return radius;}public void accept(Visitor visitor) {visitor.visit(this);}public void calculate() {System.out.println(Calculating area and perimeter of circle);} }class Rectangle extends Shape {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;}public void accept(Visitor visitor) {visitor.visit(this);}public void calculate() {System.out.println(Calculating area and perimeter of rectangle);} }接下来我们定义一个访问者接口Visitor其中包含了访问圆形和矩形的方法 visit()。 interface Visitor {void visit(Circle circle);void visit(Rectangle rectangle); }然后我们实现具体的访问者类AreaVisitor和PerimeterVisitor分别用于计算图形的面积和周长。 class AreaVisitor implements Visitor {public void visit(Circle circle) {double area Math.PI * circle.getRadius() * circle.getRadius();System.out.println(Area of circle: area);}public void visit(Rectangle rectangle) {double area rectangle.getWidth() * rectangle.getHeight();System.out.println(Area of rectangle: area);} }class PerimeterVisitor implements Visitor {public void visit(Circle circle) {double perimeter 2 * Math.PI * circle.getRadius();System.out.println(Perimeter of circle: perimeter);}public void visit(Rectangle rectangle) {double perimeter 2 * (rectangle.getWidth() rectangle.getHeight());System.out.println(Perimeter of rectangle: perimeter);} }最后我们可以在客户端代码中使用访问者模式来计算图形的面积和周长。 public static void main(String[] args) {ListShape shapes new ArrayList();shapes.add(new Circle(5));shapes.add(new Rectangle(3, 4));Visitor areaVisitor new AreaVisitor();Visitor perimeterVisitor new PerimeterVisitor();for (Shape shape : shapes) {shape.accept(areaVisitor);shape.accept(perimeterVisitor);} }程序分析 在上面的代码中我们创建了一个包含圆形和矩形的列表并分别使用面积访问者和周长访问者来计算每个图形的面积和周长。 总结 访问者模式可以帮助我们将算法与对象结构分离开来提高代码的可维护性和可扩展性。在实现访问者模式时需要定义一个抽象的被访问者类和访问者接口然后实现具体的被访问者类和访问者类。在客户端代码中可以使用访问者来访问被访问者并对其进行操作。
http://www.pierceye.com/news/897994/

相关文章:

  • 湘潭做网站 i磐石网络博学网站建设公司
  • 揭阳市建设发展总公司网站自己做的视频网站如何赚钱
  • 泉州自助建站软件天眼查在线查询官网
  • 网站建设书模板校本教研网站建设方案
  • 经销商自己做网站合适吗彩虹网站建设
  • 网站新闻编辑怎么做网站开发人员 组织架构
  • 重庆网站seo诊断婚纱摄影网站模板下载
  • 老板合作网站开发宁波网站建设慕枫科技
  • 做外贸都有哪些好网站河北沙河市规划局或建设局网站
  • 网站设计建设维护专门做网站的app
  • 哈尔滨建站模板大全慈溪高端网站设计
  • 升阳广州做网站公司门户网站建设存在的问题和差距
  • 杭州建设行业网站做兼职网站
  • 连云港市城乡建设管理局网站wordpress怎么设置
  • 如何找做网站的公司网站建站哪家公司好
  • 网站建设性价比高珠海网站建设工程
  • 设计公司网站需要什么条件网站建设与管理课程代码
  • 局域网网站怎么做软件定制开发的发展前景
  • 门户网站关键词旅游网站开发报价单
  • 哪个网站做视频收益高社区服务呼叫系统 网站的建设
  • 网站是如何制作的工厂 电商网站建设
  • 展览设计网站有哪些南海网站智能推广
  • 贵阳做网站需要多少钱凡科网站建设完成下载下载器
  • 虚拟机上做钓鱼网站照片网站怎么做
  • 建网页和建网站编程猫少儿编程app下载
  • 网站首页介绍cms系统架构
  • 建设厅的工程造价网站东莞网站优化方式
  • 微信网站模板源码wordpress如何编辑
  • 做网站p图工具公司网站建设教程
  • 网站 选项卡 图标苏州网站网页设计