1

我想知道你是否认为有必要重构这个类。(关于关注点分离)

publi class CSVLIstMapping<T>
{
 void ReadMappingFromAttirbutes();
 void GetDataFromList();
}

ReadMappingFromAttributes - 从类型 T 读取映射并将其存储在类中。有一个要使用的列表的名称和一些 csvMappingColumns,其中包含要设置值的属性的名称和 csvcolumns 的名称。

GetObjectsFromList - 使用 CVSListreader(通过构造函数传入)从所有行获取数据作为 KeyValuePair(Key = csvcolumnName,value = 实际上值),然后使用映射信息(listname 和 csvMappingColumns)将数据设置为物体。

我不能决定这门课是有两个问题还是一个问题。首先我觉得它有两个,并开始重构从行到对象到另一个对象的转换。但在此之后使用该功能感觉很尴尬,因为我首先必须创建一个映射检索器,然后我必须检索行并将其与映射一起传递给“映射器”以从行转换对象

/w

4

2 回答 2

1

听起来对我来说有两个问题:解析和映射/绑定。我会把它们分开。CSV 解析应该是一个定义明确的问题。你应该关心的不仅仅是映射。验证呢?如果您解析日期字符串,您不想在将其绑定到对象属性之前确保它有效吗?我觉得你应该。

于 2009-01-25T23:09:33.077 回答
0

经验法则:如果它很尴尬,那就错了。

我不得不说我很难理解你在那里写的东西,但我认为你可能需要重构这个类:名称似乎不清楚,任何调用的方法GetFoo()都不应该返回 void,它可能可能整个 ReadMappingFromAttribute 应该只是构造函数逻辑。

于 2009-01-25T23:11:18.673 回答