採用DDD開發資訊釋出系統(五)不是想象的那樣
本來我想做DDD-NODE框架,但是發現不太可能,所以我分理出了能夠簡化開發的東西。
Repository 中能做的就是事件機制和一些約定規範。
Entity 能做的也是事件機制和一些約定規範。
Repository用node.js 開發完成了,下面給出程式碼,具體程式碼略。
function Repository(){} var repo = Repository.prototype; repo.on = function(id,event,listener){} repo.once = function(id,event,listener){} repo.emit = function(id,event){} repo.removeListener = function(id,event,listener){} repo.removeAllListener = function(id,event,listener){} module.exports = Repository <p class="indent"> |
下面是Entity程式碼
function Entity(){ this._repo = ... ; // Repository 實體物件 } var e = Entity.prototype; e.on = function(event,listener){ this._repo.on(this.id,event,listener); // 內部呼叫倉儲的監聽,一下略 } e.once = function(event,listener){ // ... 略 } e.emit = function(event){ // ... 略 } e.removeListener = function(event,listener){ // ... 略 } e.removeAllListener = function(event,listener){ // ... 略 } <p class="indent"> |
使用方法如下:
比如我們需要監聽一下 Info 的被更改的事件。
var id = ... // 第一種方法 infoRepo.on(id,'change',function(info){}) // 第二種方法,我們得到info的情況下 info.on('change',function(info){}) <p class="indent"> |
如果要監聽全部的info中,只要有info改變就激發事件,那麼只有一種方式。
infoRepo.on("*","change",function(info){}) <p class="indent"> |
而Repository記憶體最佳化和具體的實現這個就只能交給程式設計師了,當然也許不是這樣,我再想一想。
[該貼被brighthas於2012-07-14 09:26修改過]
相關文章
- 採用DDD開發資訊釋出系統(四) Factory
- 採用DDD開發資訊釋出系統(二) Info實體類
- 企業資訊化管理系統採用怎樣的快速開發平臺好?
- 採用cqrsnode框架開發的DDD CQRS例子框架
- DDD不是開發人員的工具,而是系統設計的工具 - ntcoding
- Hyperf 2.0 釋出!想象的開端!
- ? Hyperf 2.0 釋出!想象的開端!
- 【ERROR】有些錯誤並不是你想象的那樣(透過現象看本質)Error
- Objective-C 不是你想的那樣Object
- 開源軟體是否真的如我們想象中的那樣安全?
- 走出架構誤區,架構師並不是想象的那麼容易架構
- 小米定製版電單車釋出:採用混動系統
- 綜合資訊系統的開發
- 應用系統打包釋出
- 用DDD開發開源論壇
- 資訊釋出系統影片內容播放排期控制系統
- Python開發的CMS系統,Silva CMS 3 釋出Python
- Android應用開發-學生資訊管理系統Android
- 為什麼Twitter決定採用kafka作為其釋出訂閱系統?Kafka
- 定位系統原始碼,採用UWB技術開發的人員定位系統原始碼原始碼
- 想拿到BAT的前端開發崗offer,並沒有想象中的那麼難!BAT前端
- 大營銷抽獎系統,DDD開發要如何建模?
- 資訊系統開發新模式模式
- 資訊系統開發合同要件
- GFast V3.2.1 版本釋出,採用 GoFrame 2.3 + Vue3 後臺管理系統ASTGoFrameVue
- GFast V3.2.1 版本釋出 採用GoFrame 2.3+Vue3後臺管理系統ASTGoFrameVue
- 採用開源軟體搭建WebGIS系統(1)系統架構Web架構
- 13條“不正常”資料,世界不是你想的那樣…
- 13條“不正常”資料,世界不是你想的那樣
- 基於ASP.NET 4.0開發的微商城系統OdnShop,開源釋出ASP.NETDNS
- Java實用系統開發指南CD原始碼那裡下載請教?Java原始碼
- 這樣的系統用webservice技術開發是最合適的嗎?Web
- 微博應用開發的那點事
- JdonFramework應用案例:新聞釋出系統Framework
- 每日安全資訊:法國政府釋出它開發的端對端加密訊息應用加密
- echarts設定多條折線不是你想的那樣簡單Echarts
- Android 怎樣檢視系統的memory swap 資訊/資訊Android
- TripAdvisor採用的評分系統促使小型酒店的經營者釋出虛假評論iPad