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

深圳专业网站建设要求如何备份网站 整站

深圳专业网站建设要求,如何备份网站 整站,建设植绒衣架网站,网站模板 国外目录 二、访问者模式概念代码类图实例一#xff1a;名牌运动鞋专卖店销售软件实例二#xff1a;计算机部件销售软优缺点适用场合课程作业 二、访问者模式 概念 对于系统中的某些对象#xff0c;它们存储在同一个集合中#xff0c;具有不同的类型对于该集合中的对象#… 目录 二、访问者模式概念代码类图实例一名牌运动鞋专卖店销售软件实例二计算机部件销售软优缺点适用场合课程作业 二、访问者模式 概念 对于系统中的某些对象它们存储在同一个集合中具有不同的类型对于该集合中的对象可以接受一类被称为访问者的对象来访问不同的访问者其访问方式有所不同 目的 封装一些施加于某种数据结构元素之上的操作一旦这些操作需要修改的话接受这个操作的数据结构可以保持不变 模式动机 为不同类型的元素提供多种访问操作方式且可以在不修改原有系统的情况下增加新的操作方式 缺点将所有的税率运算分布到不同的结点类使得系统不容易理解、维护与改变。 如果要增加一个新的功能则要在很多结点类都写入新的代码且要重新编译所有的类。 当税率变化时要修改每个结点上的calculateTax()代码。 因此该设计的可扩展性和可维护性都不好。 解决方案分离“Tax”类及其“calculateTax()”功能。 将所有结点的税额计算方法都从原来的类中分离出来放入另外一个独立的类叫做“TaxCalculation”类设计图如下。 设计思想将原来分布于各结点中的计算税额的方法都放在一个TaxCalculation类中。当要计算某个结点的税额时则调用TaxCalculation中某个相应的方法进行计算。 代码 访问者模式Visitor Pattern是一种行为型设计模式用于在不改变被访问对象的结构的情况下定义对其元素的新操作。访问者模式将数据结构和对数据的操作分离开来使得操作可以独立变化而不影响数据结构。 在访问者模式中有以下几个角色 访问者Visitor定义了对不同元素的访问操作每个具体访问者都实现了对应的访问方法用于处理特定类型的元素。 具体访问者Concrete Visitor实现了访问者定义的访问方法具体处理不同类型元素的操作。 元素Element定义了接受访问者访问的接口可以是抽象类或接口。 具体元素Concrete Element实现了元素定义的接口具体元素可以有不同的类型每个具体元素都可以接受访问者的访问。 对象结构Object Structure包含元素的集合可以是一个容器也可以是一个复杂的数据结构。 下面是一个简单的访问者模式的示例代码以展示其使用方式和实现原理 // 定义元素接口 interface Element {void accept(Visitor visitor); }// 具体元素A class ConcreteElementA implements Element {public void accept(Visitor visitor) {visitor.visitConcreteElementA(this);}public String operationA() {return 具体元素A的操作;} }// 具体元素B class ConcreteElementB implements Element {public void accept(Visitor visitor) {visitor.visitConcreteElementB(this);}public String operationB() {return 具体元素B的操作;} }// 定义访问者接口 interface Visitor {void visitConcreteElementA(ConcreteElementA element);void visitConcreteElementB(ConcreteElementB element); }// 具体访问者 class ConcreteVisitor implements Visitor {public void visitConcreteElementA(ConcreteElementA element) {System.out.println(访问者对 element.operationA() 的操作);}public void visitConcreteElementB(ConcreteElementB element) {System.out.println(访问者对 element.operationB() 的操作);} }// 对象结构 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 VisitorPatternExample {public static void main(String[] args) {// 创建对象结构ObjectStructure objectStructure new ObjectStructure();// 添加具体元素A和BobjectStructure.addElement(new ConcreteElementA());objectStructure.addElement(new ConcreteElementB());// 创建具体访问者Visitor visitor new ConcreteVisitor();// 对对象结构中的元素进行访问操作objectStructure.accept(visitor);} }在上述示例代码中访问者模式的核心在于访问者Visitor和元素Element的交互。具体的访问者定义了访问不同元素的方法而具体元素实现了接受访问者访问的接口。通过对象结构将元素组织起来并调用访问者的访问方法实现对元素的访问操作。 访问者模式的优点包括 将数据结构和操作解耦使得新增访问操作变得容易。可以对元素的操作进行扩展而不需要修改元素的结构。符合开闭原则增加新的访问者只需要新增具体访问者而不需要修改其他代码。 然而访问者模式也有一些限制和注意事项 增加新的元素可能会导致访问者接口的修改从而需要修改所有的具体访问者。对象结构中的元素类型较多时会导致具体访问者的访问方法过多增加了维护的复杂性。访问者模式适用于数据结构相对稳定但经常需要新增操作的场景对于数据结构变化频繁的场景使用访问者模式可能不合适。 总而言之访问者模式提供了一种灵活的方式来对数据结构的元素进行新的操作同时也将访问逻辑与元素的结构解耦使得系统更加灵活、可扩展和易于维护。 类图 访问者模式表示一个作用于某对象结构中的个元素的操作它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式是一种对象行为型模式 首先分为两个部分一是元素类而是访问者类 先抽象再具体 在访问者类里要有访问元素的方法visitXXX(抽象元素父类做参数)之类的 在元素类里要有接受访问的方法比如accept(抽象访问者父类做参数)等 实例一名牌运动鞋专卖店销售软件 在客户程序中将直接创建运动鞋子类与访问者子类的对象然后直接调用运动鞋子类的 accept 方法。根据用户输入的所购买鞋的数量和单价来计算总价和获得相应特点的功能分别由 Visitor 类的两个子类 PriceVisitor 和 ShoeInfoVisitor 来实现。访问者类图如下。 实例二计算机部件销售软 优缺点 优点 使得增加新的访问操作变得很容易。将有关元素对象的访问行为集中到一个访问者对象中而不是分散到一个个的元素类中。可以跨过类的等级结构访问属于不同的等级结构的元素类。让用户能够在不修改现有类层次结构的情况下定义该类层次结构的操作。 缺点 增加新的元素类很困难违背了“开闭原则”的要求。破坏封装。访问者模式要求访问者对象访问并调用每一个元素对象的操作这意味着元素对象有时候必须暴露一些自己的内部操作和内部状态否则无法供访问者访问。 适用场合 对象结构中对象对应的类很少改变但经常需要在此对象结构上定义新的操作 课程作业
http://www.hkea.cn/news/14264916/

相关文章:

  • 办个网站需要多少钱山东枣庄滕州网站建设
  • 网站设计模版免费下载mvc 网站 只列出目录
  • 马蜂窝网站做的重点大理网站制作公司
  • 淄博网站建设推广优化科技自主自强国家发展战略
  • 如何做融资网站前程无忧招聘网下载app官网
  • 大场网站建设源码下载网站源码
  • 漯河做网站的公司电子商务推荐类网站建设的目的
  • 网站设计报告模板及范文深圳网站制作公司建设
  • 网站建设站百度关键词刷排名教程
  • 深圳网站设计深圳设计公司芗城网站建设公司
  • 网站建设管理典型经验材料优秀网站建设
  • psd数据网站优秀网站设计推荐
  • 延边州住房城乡建设局网站企业网站 单页
  • 有自媒体谁还做网站python和php做网站
  • wordpress 建筑主题百度快照seo
  • 成都网络推广外包商品标题seo是什么意思
  • 个人网站开发模式wordpress ldap外部登录认证
  • 哈尔滨建设局网站首页网站前端做出来后台怎么做
  • 网站建设与设计毕业设计网站后台管理系统需求
  • 可以做兼职的网站做网站聊城
  • 高端品牌网站建设九五网络怎样在百度做网站打广告
  • php网站安装图解wordpress+代码质量
  • google网站排名查询wordpress 清空文章
  • jsp网站开发实例.百度网盘公司网站运营
  • 东莞网站建设美丽泉州seo外包
  • 建站系统网站建设电商网站方案建设
  • 上海公司网站seo网站开发前景与趋势如何
  • 网站开发使用什么技术集成装修全屋定制
  • 买了一台配置强悍的电脑怎么做网站服务器看盘神器app
  • 优设网 国内专业设计师平台百度快照seo