我有一组域对象,我需要将其转换为.NET框架使用的另一种类型。进行此类转换的最佳实践是什么?
具体来说,我有一个名为ContentEntry的类型,我需要将其转换为SyndicationItem以便放入SyndicationFeed中。转换本身很简单,但是我正在寻找一个好的模式。是否要在ContentEntry上创建一个名为CreateSyndicationItem()的方法,或者也许要创建一个单独的转换器对象?也许是扩展方法?
这会有些主观,但我希望您能提出一些想法。
编辑说明:我想指出,我不控制SyndicationItem。它内置在.NET Framework中。另外,我真的很想一次将多个ContentEntry对象转换为SyndicationItems。
最佳答案
由于无法修改SyndicationItem的构造函数,因此建议您使用factory pattern。创建一个具有方法CreateSyndicationItem()的SyndicationItemFactory类。此方法返回SyndicationItem对象。在这种情况下,您只需要一个版本的方法,它将使用ContentEntry对象。
当您说要一次创建多个ContentEntry对象时,我假设您要说一个ContentEntry对象数组。另一个方法(例如CreateSyndicationItems())可能返回SyndicationItems数组,并将ContentEntry对象数组作为其参数。