| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- /// <summary>
- /// 访问者模式
- /// </summary>
- namespace VisitorPattern
- {
- class Program
- {
- static void Main(string[] args)
- {
- Customer customer = new Customer
- {
- Id = 1,
- NickName = "圣杰",
- RealName = "圣杰",
- Address = "深圳市南山区",
- Phone = "135****9358",
- Zip = "518000"
- };
- Product productA = new Product { Id = 1, Name = "小米5", Price = 1899 };
- Product productB = new Product { Id = 2, Name = "小米5手机防爆膜", Price = 29 };
- Product productC = new Product { Id = 3, Name = "小米5手机保护套", Price = 69 };
- OrderLine line1 = new OrderLine { Id = 1, Product = productA, Qty = 1 };
- OrderLine line2 = new OrderLine { Id = 1, Product = productB, Qty = 2 };
- OrderLine line3 = new OrderLine { Id = 1, Product = productC, Qty = 3 };
- //先买了个小米5和防爆膜
- SaleOrder order1 = new SaleOrder { Id = 1, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line1, line2 } };
- //又买了个保护套
- SaleOrder order2 = new SaleOrder { Id = 2, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line3 } };
- //把保护套都退了
- ReturnOrder returnOrder = new ReturnOrder { Id = 3, Customer = customer, CreatorDate = DateTime.Now, OrderItems = new List<OrderLine> { line3 } };
- OrderCenter orderCenter = new OrderCenter { order1, order2, returnOrder };
- Picker picker = new Picker { Id = 110, Name = "捡货员110" };
- Distributor distributor = new Distributor { Id = 111, Name = "发货货员111" };
- //捡货员访问订单中心
- orderCenter.Accept(picker);
- //发货员访问订单中心
- orderCenter.Accept(distributor);
- Console.ReadLine();
- }
- }
- }
|