几个星期以来,我一直在努力理解DDD。这很让人困惑。我不明白我怎么组织我的项目。我有很多关于UnitOfWork,仓库,协会和名单的问题.
让我们举一个简单的例子。
Album and Tracks
Album: AlbumId, Name, ListOf Tracks
Tracks: TrackId, Name,
我的问题有意义吗?
问候
发布于 2011-12-22 17:41:30
问题1,我建议采用这样的结构:
public class Album
{
public int AlbumId { get; set; }
/// <summary>
/// Readonly, foreach, public
/// </summary>
public IEnumerable<Track> Tracks
{
get { return TrackList; }
}
/// <summary>
/// Protected for repository/ORM
/// </summary>
protected IList<Track> TrackList { get; set; }
public void AddTrack(Track track)
{
//Here you can put additional logic
TrackList.Add(track);
}
public void RemoveTrack(Track track)
{
//Here you can put additional logic
TrackList.Remove(track);
}
}
public class Track
{
}为轨道编写一个公共IEnumerable属性,以允许只读访问和循环。
受保护的属性保存跟踪,并可由ORM使用。
编写方法,以添加和删除歌曲到相册。在这些方法中,您可以添加额外的逻辑。
https://stackoverflow.com/questions/3020298
复制相似问题