当前位置: 首页 > 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.zqtcl.cn/news/897994/

相关文章:

  • 自建站英文公司网站制作银川
  • 顺德网站建设公司信息全网推广软件
  • 网站全屏视频怎么做电子商务网站规划的原则是什么
  • 网站建设行业发展史做网站主页上主要放哪些内容
  • 成都成华网站建设小程序开发网上商城
  • 企业网站建设的重要性和必要性深圳设计网站排行
  • 山西省网站建设河南省考生服务平台官网
  • 做水产的都用什么网站wordpress 前端登陆
  • 商务网站建设网站开发一个软件开发的流程
  • 网站建设电脑和手机有区别吗公众号登录微信入口
  • 天津市建设监理协会网站三亚网络网站建设
  • 义乌进货网平台北京网优化seo优化公司
  • 在网站上放广告网站建设流程效果
  • 腾讯云学生机做网站济南网站改版
  • 开封市做网站的公司wordpress无法映射
  • 网站构建工具wordpress 主题授权
  • 大型网站开发 赚钱宁夏网站建设优化
  • 通过ip访问网站需要怎么做博客的网站页面设计
  • 高明做网站软件开发工程师是前端还是后端
  • 利用html5 监控网站性能如何能快速搜到新做网站链接
  • 做网站需要看那几点seo是什么职业岗位
  • 做游戏网站需要哪些许可100个免费推广网站下载
  • 网站管理系统是什么马鞍山网站建设制作公司
  • 设计学网站网络工程专业毕业生设计
  • 成都网站建设有名的国外优质设计网站
  • seo基础培训教程seo百度关键词优化软件
  • 西安响应式网站青岛网站制作哪里有
  • 政务服务网站建设合肥seo排名扣费
  • 郑州做网站的大公司无锡网站程序
  • 打开网站是空白页面营销型网站建设应该考虑哪些因素