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

移动端网站建设方案北京交易中心网站

移动端网站建设方案,北京交易中心网站,品牌网址注册,app 微网站目录 一. 前言 二. 实现 三. 优缺点 一. 前言 访问者模式#xff0c;即在不改变聚合对象内元素的前提下#xff0c;为聚合对象内每个元素提供多种访问方式#xff0c;即聚合对象内的每个元素都有多个访问者对象。访问者模式主要解决稳定的数据结构和易变元素的操作之间的…目录 一. 前言 二. 实现 三. 优缺点 一. 前言 访问者模式即在不改变聚合对象内元素的前提下为聚合对象内每个元素提供多种访问方式即聚合对象内的每个元素都有多个访问者对象。访问者模式主要解决稳定的数据结构和易变元素的操作之间的耦合问题。 二. 实现 Visitor访问者为每一个 ConcreteElement 声明一个 visit 操作。 ConcreteVisitor具体访问者存储遍历过程中的累计结果。 ObjectStructure对象结构可以是组合结构或者是一个集合。 public interface Element {void accept(Visitor visitor); }public class Customer implements Element {private String name;private ListOrder orders new ArrayList();Customer(String name) {this.name name;}String getName() {return name;}void addOrder(Order order) {orders.add(order);}public void accept(Visitor visitor) {visitor.visit(this);for (Order order : orders) {order.accept(visitor);}} }public class Order implements Element {private String name;private ListItem items new ArrayList();Order(String name) {this.name name;}Order(String name, String itemName) {this.name name;this.addItem(new Item(itemName));}String getName() {return name;}void addItem(Item item) {items.add(item);}public void accept(Visitor visitor) {visitor.visit(this);for (Item item : items) {item.accept(visitor);}} }public class Item implements Element {private String name;Item(String name) {this.name name;}String getName() {return name;}public void accept(Visitor visitor) {visitor.visit(this);} } class CustomerGroup {private ListCustomer customers new ArrayList();void accept(Visitor visitor) {for (Customer customer : customers) {customer.accept(visitor);}}void addCustomer(Customer customer) {customers.add(customer);} } public interface Visitor {void visit(Customer customer);void visit(Order order);void visit(Item item); } public class GeneralReport implements Visitor {private int customersNo;private int ordersNo;private int itemsNo;public void visit(Customer customer) {System.out.println(customer.getName());customersNo;}public void visit(Order order) {System.out.println(order.getName());ordersNo;}public void visit(Item item) {System.out.println(item.getName());itemsNo;}public void displayResults() {System.out.println(Number of customers: customersNo);System.out.println(Number of orders: ordersNo);System.out.println(Number of items: itemsNo);} } public class Client {public static void main(String[] args) {Customer customer1 new Customer(customer1);customer1.addOrder(new Order(order1, item1));customer1.addOrder(new Order(order2, item1));customer1.addOrder(new Order(order3, item1));Order order new Order(order_a);order.addItem(new Item(item_a1));order.addItem(new Item(item_a2));order.addItem(new Item(item_a3));Customer customer2 new Customer(customer2);customer2.addOrder(order);CustomerGroup customers new CustomerGroup();customers.addCustomer(customer1);customers.addCustomer(customer2);GeneralReport visitor new GeneralReport();customers.accept(visitor);visitor.displayResults();} } customer1 order1 item1 order2 item1 order3 item1 customer2 order_a item_a1 item_a2 item_a3 Number of customers: 2 Number of orders: 4 Number of items: 6 三. 优缺点 优点 1. 符合单一职责原则即数据的存储和操作分别由对象结构类和访问者类实现。 2. 优秀的扩展性和灵活性。 缺点 1. 具体元素对访问者公布了其细节违反了迪米特法则。 2. 具体元素的增加将导致访问者类的修改违反了开闭原则。 3. 访问者类依赖了具体类而不是抽象违反了依赖倒置原则。 JDK中的访问者模式 javax.lang.model.element.Element and javax.lang.model.element.ElementVisitor javax.lang.model.type.TypeMirror and javax.lang.model.type.TypeVisitor
http://www.zqtcl.cn/news/703520/

相关文章:

  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司
  • 网站建设经费预算表辽宁工程建设招标网
  • sql数据库查询网站模板谷歌浏览器网页版入口
  • 成都h5建站市场监督管理局举报电话
  • 百度推广弄个网站头像要钱吗?最新新闻热点素材
  • 江苏做网站找谁wordpress主题设置插件
  • 郑州微信网站开发建筑网招工平台
  • 给网站挂黑链普工招聘最新招聘信息
  • 重庆推广网站排名价格上海房产信息网官网
  • 深圳网站公司制作网络公司排名
  • 郑州高端做网站网页制作与网站建设实战大全光盘
  • 科技网站制作公司免费模板建站网站
  • 网页排版精美的中文网站单页设计软件
  • 图书馆网站建设情况会员卡管理系统价格
  • 网站建设的通知沈阳品牌设计公司
  • html5网站框架宝安网站建设深圳信科
  • 做网站单页分销电商平台开发
  • 吉林网站备案南京网站开发选南京乐识好