DDD实体我的一点想法 DDD的实体类确实应该驻守在内存中,但实际上我们会发现内存相对还是昂贵的,那么我们可以让实体类的一张皮放在内存中,而大的字段可以懒加载。我用javascript 代码做一个说明。function Entity(){}function Info(id){} // Info继承Entityvar info = ...;function cb1(err,content){ console.log(content) }function cb2(err){ }// 得到Info的content字段info.content(cb1)// 改变Info的content字段 , ‘cccc’ 是改变的内容info.content('ccccc',cb2)// info对象会常驻在内存中,他的某些字段可以选择懒加载,用异步回调的方式操作和查询。// 如果info住在内存中,那么我们就可以监听info了,例如如下代码:info.addListener('change',function(_info){}); // 监听 info 改变的事件。
非常好,我们想到一块去了,可以使用JdonFramework的Domain Events实现异步懒加载字段。public int getMessageCount(DomainEvents domainEvents) { if (messageCount == -1) { if (messageCountAsyncResult == null) { messageCountAsyncResult = domainEvents.computeCount(account.getUserIdLong()); } else { messageCount = (Integer) messageCountAsyncResult.getEventResult(); } } return messageCount;}