我想知道你是否认为有必要重构这个课程。(关于分离关注)
publi class CSVLIstMapping<T>
{
void ReadMappingFromAttirbutes();
void GetDataFromList();
}
ReadMappingFromAttributes - 从类型T读取映射并将其存储在类中。有一个要使用的列表的名称和一些csvMappingColumns,其中包含要设置值的属性名称和csvcolumns的名称。
GetObjectsFromList - 使用CVSListreader(通过构造函数传入)从所有行获取数据,如KeyValuePair(Key = csvcolumnName,value = actual value),然后使用mappinginformation(listname和csvMappingColumns)来设置对象中的数据。
我无法确定这个课程是否有2个问题或一个问题。首先,我觉得它有两个,并开始重构从行到对象到另一个对象的转换。但在此之后使用该功能感到尴尬,因为我首先必须创建一个mappingretriver,之后我不得不重新检查行并将其与映射一起传递给“mapper”以从行转换对象< / p>
/ W
答案 0 :(得分:1)
听起来像是我的两个问题:解析和映射/绑定。我把它们分开了。 CSV解析应该是一个明确定义的问题。你应该关心的不仅仅是映射。验证怎么样?如果解析日期字符串,在将其绑定到对象属性之前,是否要确保它是有效的?我想你应该。
答案 1 :(得分:0)
我不得不说我发现很难理解你在那里写的内容,但我认为你可能需要重构这个类:名字似乎不清楚,任何名为GetFoo()
的方法都应该真的不能返回void,整个ReadMappingFromAttribute可能只是构造函数逻辑。