关于DDD最基本的一些知识的请教
对于一个工作经验很少的菜鸟来说, 使用DDD的设计方式时总是在设计的同时考虑着如何实现, 本来是架构设计, 比较高层的那种, 但却无法割舍细枝末节, 于是设计的东西就变成了伪OO, 最后还是围绕数据库, 围绕表示层来实现整个工程. 所以我想通过一些比较简单的例子, 请教banq等各位前辈如何思考和设计. 我经验少, 也许会问一些比较幼稚的问题, 您可以指给我要看哪一些资料, 我自己去学就行了. (我.net用得比较多, java则较少, 所以很多java的知识什么的很生疏, 也不知从何看起)
问题一: 以人事管理系统为例, person和company当然是Entity, 可是对于属性特别多的person该如何设计呢?? 比如政府系统的人事管理,一个person类有几十个信息集(个人基本信息, 职务信息, 学历信息...), 每个信息集有许多信息项, 一个person类的实例会很大, 当查询时(人事系统非常常用的功能)需要返回一个person的集合, 可能是几万人, 这时的面象对象的设计该如何进行呢?? 我查询可能只需要person的某些信息, 不需要实例化它的每一个信息啊, 如果用SQL语句会很快, 但如果用面象对象会占用太多的资源.
问题二: 人事系统在信息录入时需要维护person的信息, 而后更多的功能是查询和统计, 侧重的是person集合的某个侧面的信息, Repositories中缓存这些person或者person集合的信息感觉用处不大(查询是可订制的, 过于多样与复杂了, 命中率太低), 这时的Repositories该缓存什么呢?? 或许问题一解决了, 问题二也会迎刃而解.
还有很多问题, 暂时就问最最基本的. 谢谢!!