русский
Germany.ruForen → Архив Досок→ Programmierung

Непонятки с DDD

24.12.23 18:31
Непонятки с DDD
 
AlexNek патриот
AlexNek

Есть следующие классы: - вопрос: зачем переопределили 'public new ValueId<TIdType> Id' в AggregateRoot. EF дуреет.

public abstract class AggregateRoot<TId, TIdType> : Entity<TId>
    where TId : ValueId<TIdType>
{
    public new ValueId<TIdType> Id { get; protected set; }
    protected AggregateRoot(TId id)
    {
        Id = id;
    }
    protected AggregateRoot()
    {
    }
}
public abstract class Entity<TId> : IEquatable<Entity<TId>>, IHasDomainEvents
    where TId : notnull
{
    private readonly List<IDomainEvent> _domainEvents = new();

    public TId Id { get; protected set; }

    public IReadOnlyList<IDomainEvent> DomainEvents => _domainEvents.AsReadOnly();

    protected Entity(TId id)
    {
        Id = id;
    }
...
}
public abstract class ValueId<TId> : ValueObject
{
    public abstract TId Value { get; protected set; }
}
 

Sprung zu