[英]OOP creating and copying an object that depends on one value
很抱歉,但我不知道该怎么称呼(如果您的标题更好,请在评论中告诉我)。
假设您有以下Object
其目的是创建Constructor
指定的数据的图表系列:
/**
* Helper to generate chart series
*/
public class ChartHelper
{
public System.Windows.Forms.DataVisualization.Charting.Chart ChartType { get; set; }
public String TimeType { get; set; }
private readonly List<IObject> _datalist;
private readonly TimeType _timeType;
private readonly DateTime _stopDate;
private readonly DateTime _startDate;
public ChartHelper(List<IObject> dataList, TimeType timeType, DateTime startDate, DateTime stopDate)
{
_startDate = startDate;
_stopDate = stopDate;
_datalist = dataList;
_timeType = timeType;
}
public System.Windows.Forms.DataVisualization.Charting.Chart GetChart()
{
CreateSeries(_startDate);
return ChartType;
}
private void CreateSeries(DateTime seriesTime)
{
//Do something
}
//More internal private methods
}
现在说,例如,您有一个程序可以创建10个不同的Charts
但是只有List<IObject> dataList
的值List<IObject> dataList
更改。
然后,您可以执行以下两项操作之一:
ChartHelper
Objects
Object
并更改dataList
值 这当然是在开发时如何提出问题的示例(我多次遇到此问题)
我的问题是,有没有一种可以帮助您解决此问题的设计模式? 还是有针对这些情况的最佳实践方法? 对我来说,学习这些方法很重要,因为我希望提高自己的技能。
如果只有数据不同,那么我建议使用相同的类并从中创建10个不同的对象。
但是,如果CreateSeries的实现根据数据类型而有所不同,则可以选择使用Strategy模式。 在这种情况下,您将在界面后面提取系列的创建,并提供不同类型系列的实现。 然后,您还可以拥有一个工厂,该工厂根据数据选择正确的策略并组成图表(帮助程序)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.