DDD实体我的一点想法

12-06-29 brighthas

DDD的实体类确实应该驻守在内存中,但实际上我们会发现内存相对还是昂贵的,那么我们可以让实体类的一张皮放在内存中,而大的字段可以懒加载。

我用javascript 代码做一个说明。

function Entity(){}

function Info(id){}  // Info继承Entity

var 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 改变的事件。

<p>

         

1
banq
2012-06-30 07:40
非常好,我们想到一块去了,可以使用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;
} 

<p>

猜你喜欢