如何在项目之间重用几乎相同的代码
本文关键字:代码 项目 之间 | 更新日期: 2023-09-27 18:21:53
我正在尝试实现一个基于网页的报告。网页在一个项目MyProject.web中,报表在MyProject.Reports项目中。在这两种情况下,我都希望显示相同的控件元素(第三方图表控件)。Reports项目使用稍微不同的第三方图表控件实现(意味着大多数成员都兼容)。几乎所有的代码都可以在两个项目之间复制粘贴。但是,以下代码在Reports项目中不兼容:
chart.BorderOptions.Visible = false; // BorderOptions is not a member
需要替换为:
chart.Borders = BorderSide.None;
此:
chart.Height = Unit.Pixel(300); // Unit type
chart.Width = Unit.Pixel(700); // Unit type
需要替换为:
chart.Height = 300; // int type
chart.Width = 700; // int type
最后:
chart.Padding.All = 0;
需要移除。
这里的最佳解决方案是什么?
看起来像是适配器模式的经典案例。
基本上,您可以封装不同的部分,并且只以不同的方式实现它们。您可以创建一个MyAwesomeChart
类和子类,也可以创建类似MyAwesomeChartSetter
的子类。
在这种情况下,最好的解决方案是在两个项目中使用相同的实现。
如果你做不到,那就把它留下吧。如果你发布了所有的代码,那么它实际上并没有那么相似。