using System; namespace Domain { /// /// Entité principale de la plateforme, représente un lien publié par l'utilisateur. /// public class Link { public Guid Id { get; } public string Url { get; } public DateTime CreatedAt { get; } public Guid CreatedBy { get; } public Link(Guid createdBy, string url) { Id = Guid.NewGuid(); CreatedAt = DateTime.UtcNow; Url = url; CreatedBy = createdBy; } /// /// Crée un commentaire pour ce lien. Permet de valider l'existence du lien et /// potentiellement des règles métier de création plus complexes. /// /// /// public Comment AddComment(Guid createdBy, string content) { return new Comment(this.Id, createdBy, content); } } }