windflaw
2007-05-12 23:04
还是没有答案,继续顶

banq
2007-05-14 09:23
我的做法是"通过借道服务来实现",通过服务,将Entity和它的大批量子对象使用专门批量查询组件实现。例如Jdon框架就提供批量查询快速实现,可参考jivejdon3源码

相关问题:

关于DDD的思考

http://www.jdon.com/jivejdon/thread/31792.html

欢迎大家讨论。

[该贴被banq于2007年05月21日 09:37修改过]

ulswww
2007-05-22 16:58
我认为还是业务没有分析的清楚

为什么会把许多年代数据放到一个对象里,是否真有这样的需求,是否可以分开。

还有你说每次也不用查那么多数据,模型是否应该从这个地方进行精化

custjcy
2007-07-10 12:14
对模型的精化很难解决这个问题,因为存在这样的场景:需要哪些对象是无法预先确定,必须要根据Entity中的运行时逻辑决定。

有两个方法解决这个问题:

1. 将对应的逻辑上一到它的调用者。

2. Entity中增加事件或者代理,Entity通过事件机制或代理取得需要的数据。Entity的调用者捕获并处理事件或实现代理。

sonnylys
2008-07-28 23:24
>>>

public class DayArrange // 每日排班明细

{

public WorkShiftSchedule OwnerSchedule; // 所属的排班表

public DateTime Day; // 日期

public WorkShift WorkShiftPlan; // 安排的班次

}

但是,几年下来,明细信息越来越多,显然用IList这样的数据集就算用Lazy Load性能会出现很大问题。

从以上代码及描述来看,个人认为你所提的“明细信息越来越多”的“明细”为"DayArrange"; “几年下来,明细信息越来越多“,至此,从描述中得到的信息是:”DayArrange”和“WorkShiftSchedule”实际上没存在任何关系,不然的话,一个“WorkShiftSchedule”排班表不就按排了几年的“DayArrange“?

>>>

public class WorkShiftSchedule {

public IList GetMonthArranges(string month){}

public DayArrange GetDayArrange(DateTime day){}

}

从代码及描述来看,WorkShiftSchedule 更象是个service?不理解为什么说是entity,然后苦恼其依赖Repository!请指教,谢谢。

[该贴被sonnylys于2008-07-29 00:09修改过]

猜你喜欢