我刚刚开始使用域驱动设计,并且有一个针对我的域的项目,其结构如下:
领域
- /实体
- /边界
- /用户故事
据我了解 DDD,除了外部世界与域通信的边界之外,域中的一切都应该是不可见的。我在域中看到的所有实体类示例都有一个公共访问修饰符,例如这里我有一个名为 Message 的实体:
public class Message
{
private string _text;
public string Text
{
get { return _text; }
set { _text = value; }
}
public Message()
{
}
public bool IsValid()
{
// Do some validation on text
}
}
如果实体类及其成员被标记为内部,那么它只能在域项目中访问,这不是更正确吗?
例如:
internal class Message
{
private string _text;
internal string Text
{
get { return _text; }
set { _text = value; }
}
internal Message()
{
}
internal bool IsValid()
{
// Do some validation on text
}
}