1
0

Program.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. /// <summary>
  7. /// 访问者模式
  8. /// </summary>
  9. namespace VisitorPattern
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. Customer customer = new Customer
  16. {
  17. Id = 1,
  18. NickName = "圣杰",
  19. RealName = "圣杰",
  20. Address = "深圳市南山区",
  21. Phone = "135****9358",
  22. Zip = "518000"
  23. };
  24. Product productA = new Product { Id = 1, Name = "小米5", Price = 1899 };
  25. Product productB = new Product { Id = 2, Name = "小米5手机防爆膜", Price = 29 };
  26. Product productC = new Product { Id = 3, Name = "小米5手机保护套", Price = 69 };
  27. OrderLine line1 = new OrderLine { Id = 1, Product = productA, Qty = 1 };
  28. OrderLine line2 = new OrderLine { Id = 1, Product = productB, Qty = 2 };
  29. OrderLine line3 = new OrderLine { Id = 1, Product = productC, Qty = 3 };
  30. //先买了个小米5和防爆膜
  31. SaleOrder order1 = new SaleOrder { Id = 1, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line1, line2 } };
  32. //又买了个保护套
  33. SaleOrder order2 = new SaleOrder { Id = 2, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line3 } };
  34. //把保护套都退了
  35. ReturnOrder returnOrder = new ReturnOrder { Id = 3, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line3 } };
  36. OrderCenter orderCenter = new OrderCenter { order1, order2, returnOrder };
  37. Picker picker = new Picker { Id = 110, Name = "捡货员110" };
  38. Distributor distributor = new Distributor { Id = 111, Name = "发货货员111" };
  39. //捡货员访问订单中心
  40. orderCenter.Accept(picker);
  41. //发货员访问订单中心
  42. orderCenter.Accept(distributor);
  43. Console.ReadLine();
  44. }
  45. }
  46. }