更新:
我正在寻找的是我应该分别创建每个类而不是在课堂上添加getter / setter道具,我的意思是:
所以为了创建一个访问,我应该在VISIT中有以下道具
VisitName, Purpose, StartDate, EndDate, HostId, HostName, RequesterId, RequeserName
或者我应该这样:
VisitName, Purpose, StartDate, EndDate, IPerson Host, IPerson Requester
END UPDATE
如果我正在朝着正确的方向前进,我需要建议/反馈是域模型(项目的一部分不是很好)。
我在访问模型中有一个名为“访问”的课程,我将有基本的访问,如姓名,目的,开始,结束日期等...在那个班级我也有谁将主持访问和谁请求访问。
你怎么看下面的课?
//aggreate class
public class Visit
{
IVisitBasic _visitBasic;
IPerson _host;
IPerson _requester;
public IVisitBasic VisitBasic
{
get { return _visitBasic; }
set { _visitBasic = value; }
}
public IPerson Host
{
get { return _host; }
set { _host = value; }
}
public IPerson Requester
{
get { return _requester; }
set { _requester = value; }
}
public Visit(IVisitBasic visitBasic, IPerson host, IPerson requester)
{
_visitBasic = visitBasic;
_host = host;
_requester = requester;
}
public Visit() { }
}
答案 0 :(得分:0)
它看起来还不错,但是在你真正开始编写和测试初始域模型之前,我不会制作一个硬而快的域模型,因为你可能会发现事情并没有像预期那样完全正常工作是你错过的,或者要求改变等等。
快速查看其他要点。
更新回复: 现在大多数情况下的标准设计是使用createVisit方法添加服务层,即VisitService,访问对象上的属性应该只链接到主机和请求者,而不包含任何业务逻辑。 (希望能回答你的问题吗?)