IChargingLine.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace AdapterPattern
  7. {
  8. /// <summary>
  9. /// 充电线
  10. /// 最终要适配成的目标角色
  11. /// </summary>
  12. public interface IChargingLine
  13. {
  14. /// <summary>
  15. /// 充电方法
  16. /// </summary>
  17. void Charging();
  18. }
  19. /// <summary>
  20. /// USB数据线(支持USB-Micro端口的设备)
  21. /// </summary>
  22. public class USBMicroLine : IChargingLine
  23. {
  24. public void Charging()
  25. {
  26. Console.WriteLine("为支持USB-Micro端口的设备充电!");
  27. }
  28. }
  29. /// <summary>
  30. /// 原装数据线
  31. /// 未定义充电标准的充电方法
  32. /// </summary>
  33. public class USBLine
  34. {
  35. public void Charge()
  36. {
  37. Console.WriteLine("为设备充电!");
  38. }
  39. }
  40. /// <summary>
  41. /// 苹果充电线适配器
  42. /// </summary>
  43. public class USBlightingLineAdapter : USBLine, IChargingLine
  44. {
  45. public void Charging()
  46. {
  47. Console.WriteLine("对USB-Lighting端口的数据线进行适配!");
  48. base.Charge();
  49. }
  50. }
  51. /// <summary>
  52. /// 小米5充电线适配器
  53. /// </summary>
  54. public class USBTypecLineAdapter: USBLine,IChargingLine
  55. {
  56. public void Charging()
  57. {
  58. Console.WriteLine("对USB-TypeC端口的数据线进行适配!");
  59. base.Charge();
  60. }
  61. }
  62. }