在领域层中,可以实现实体与聚合根的业务逻辑,在实现业务逻辑之前,我们首先要确定实体和聚合根的一些基本行为,比如判断实体是否相等。关于领域对象的具体业务逻辑实现,因为涉及到要与数据库交互,所以等看完仓储的实现后,再实现领域对象的业务逻辑。
using System;
using Order.Domain.Aggreate;
namespace Order.Domain.Model
{
public abstract class Entity : IEntity
{
private Guid id = Guid.NewGuid();
public Guid Id { get { return id; } }
public override bool Equals(object obj)
{
if (obj == null)
return false;
if (ReferenceEquals(this, obj))
return true;
return this.Id == (obj as IEntity).Id;
}
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
}
}
namespace Order.Domain.Model
{
public abstract class AggreateRoot:Entity
{
}
}