DCI 的 注册场景Context

我是用简单的JS代码构建DCI的代码,希望各位和Banq大哥给与分析和指正。

/*----------注册角色BEGIN-----------------*/
require("ext");

function RegerRole(user){
this.user = user;
Object.merge(this,user);
Object.merge(this,user.__proto__);
}

RegerRole.prototype.reg = function(callback){
userRepo.save(this.user);
callback(err);
}
/* ------------------ END -------------------- */

/*---------- 注册场景 -----------------*/
function RegContext( loginname , password , confirm ){
this.loginname = loginname;
this.password = password;
this.confirm = confirm;
}

var o = RegContext.prototype;

o.interact = function(callback){
var user = userFactory.create({loginname:this.loginname,password:this.password});
var reger = new RegerRole(user,this.confirm);
reger.reg(callback) ;
}

/* ------------------ END -------------------- */

调用代码 >>
function callback(){ ... }
var cxt = new RegContext(...);
cxt.interact(callback);

不错,交互interact方法如果能更明确一些就更好,还有,在客户端调用代码中,最好出现DCI中的Data:实体User,这样就更完整。