当前位置: 首页 > 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.pierceye.com/news/703520/

相关文章:

  • 宜春专业的企业网站建设公司网站建设待遇怎样
  • 苏州企业网站建设制作服务在线培训平台
  • 成都创建公司网站wordpress的多说美化
  • 企业网站建设的方案书用织梦做模板网站
  • 馆陶做网站容桂低价网站建设
  • 帮一个企业做网站流程免费做app的软件有哪些
  • 河间哪里有做网站的wordpress禁用修正版
  • 网站建设对网络营销的影响做网站的怎么挣钱
  • 个人备案的网站涉及到资金抖音代运营服务达不到退费标准
  • 做网站投放广告湘潭学校网站建设 磐石网络第一
  • 营销手机网站目前专业做水果的网站有哪些
  • 莆田仿站定制模板建站网站设计应该考虑的重要因素
  • 简述网站制作过程企业网络推广网站建设
  • 外贸营销网站建设介绍wordpress分库技术
  • 做竞品分析的网站安卓小程序开发入门
  • 做网站的外包公司可以进吗做旅游网站赚钱吗
  • 网站网页设计基本理论教育学校网站源码 php
  • 吉林省建设厅网站专家新华社官网
  • 代做吧机械网站天津建站管理系统价格
  • 开发网站公司都需要什么岗位人员有了网站怎么写文章
  • 白水网站建设郑州网站推广优化公司
  • 做网站的参考文献专业建设报告
  • asp网站搭建工具中英文网站前端怎么做
  • 微信公众号 做不了微网站wordpress怎么转移
  • 主营网站开发游戏推广员每天做什么
  • c 做网站用什么框架长沙网络建设的网站
  • 专业的网站建设网络网站连接跳转怎么做
  • 南山网站设计方案安徽六安特产
  • 设计型网站案例深圳广告投放公司
  • 能源网站模板头条发布视频成功显示404