0

我正在设计一个小系统来解析 RSS 提要,我有两个类:Feed 和 FeedItem。

public class Feed
{
    public string Title{ get; set; }
    public string Link{ get; set; }
    public string Description { get; set; }
    public bool IsTwitterFeed { get; set; }
    public List<FeedItem> Items { get; set; }
}

public class FeedItem
{
    public string Title { get; set; }
    public string Link{ get; set; }
    public string Description { get; set; }
    public DateTime Date { get; set; }
}

Feed 有 FeedItem,FeedItem 有父 Feed。给 FeedItem 类一个父 Feed 成员会是一个不好的模式:

public Feed ParentFeed { get; set; }

所以我可以这样做:

// get the latest item from the latest feed, then print its parent feed name
FeedItem item = Feeds.GetLatest().Item[0];
Response.Write(item.ParentFeed.Name + ": " + item.Title);

还是我应该只通过其父 Feed 获取 FeedItem,以避免这两个类之间的循环引用?

4

2 回答 2

0

Why doesn't your caller just store the reference to the Feed?

Feed latest = Feeds.GetLatest();
FeedItem item = latest.Item[0];
Response.Write(latest.Name + ": " + item.Title);

Edit: Personally I'd avoid the circular reference if possible but I guess that's just a matter of taste!?

于 2009-11-05T13:55:32.513 回答
0

如果您真的需要父母,那么您可以将其存储为object. 如果您可以FeedItem通过其他路线而不是从Feed并且需要到达 ,那将是必要的Feed。但是,它并不是特别优雅。

这通常在可能存在不同类型的父对象的情况下完成。

于 2009-11-05T13:24:27.443 回答