cqrs-node 框架的進展

brighthas發表於2012-07-27
大家好,我是利奧。最近開發了一個node.js版本的CQRS框架。開發流程如下,請各位批評指正。這個版本成熟後會釋出。

我們用 cqrs -c myapp 建立一個開發目錄,自動會建立如下目錄
aggres
entites
repositories
factories
eventHandles
還有 commands / commandHandles / queries / queryHandles 目錄,這四個目錄我們先不加入內容

我們先開發 aggres/Product.js 檔案

aggres/Product.js 主要程式碼如下:

product.changeName = function(name){
        // 建立一個事件
	var event  =  new Event('changeName',{name:name});
        // 釋出事件
	this.publish(event);
}

// 當changeName事件產生時會觸發這個監聽器
product.onchangeName = function(event){
	this._name = event.data.name;
        console.log('hello cqrs!');
}
<p class="indent">


eventHandles/ProductchangeName.js 程式碼如下:

// 這裡有個約定,就是監聽器的名字要 aggre name + event name
function ProductchangeName(event){ 
	console.log(event.data.name);
}
<p class="indent">


下面是測試啟動檔案 Test.js

var myproduct = repository.findById(id,function(err,p){
    p.changeName('summer sex');
})
<p class="indent">


列印結果是:
hello cqrs!
summer sex


[該貼被brighthas於2012-07-27 23:08修改過]

[該貼被brighthas於2012-07-27 23:09修改過]

相關文章