2 Star 0 Fork 0

mirrors_jsantell / 2013.cascadiajs.com

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
event-is-the-new-model_davidmfoley.md 2.29 KB
一键复制 编辑 原始数据 按行查看 历史
Dave Foley 提交于 2013-07-24 15:06 . Add reference links

#Event is the new Model

##Abstract

Most of us are accustomed to modeling our application domains by their state at any given point in time. When audit logs, reporting views, data migrations and real-time updates are required, our tendency is to bolt them on to this relational point-in-time model, which can be difficult and costly.

Building on the Event Sourcing pattern, we can instead treat each application as an append-only stream of immutable events. In this style of application, the state of the model at any point in time can be derived by replaying all of the events up to that point in time. This also allows for multiple point-in-time representations ("Models") to exist simultaneously in different places.

The Node.js ecosystem provides a particularly interesting platform for this style of application development. With a shared language between a browser-based client and a node-based server, we can even use the same model logic in both places. I'll walk through experiences and lessons learned over the course of the development of an event-sourced real-time browser application using node, socket.io, spine, and related technologies.

Topics include:

  • Using socket.io as an event bus
  • How events are filtered, routed, distributed and stored
  • The different needs of UI components and services
  • Sharing code between client and server
  • Client-side dependency management
  • Organization of client-side application modules
  • Pragmatic unit, integration, and acceptance testing
  • Evolving infrastructure alongside an application

I will approach these topics in a retrospective fashion, to share both successes and failures, in the hopes that they might provide some useful learnings.

Also, the code examples will be demonstrated in coffeescript. Get over it.

##Speaker Bio

davidmfoley

I am CTO of Substantial, a 60-person digital product studio based in Seattle and San Francisco.

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_jsantell/mirrors_jsantell_2013.cascadiajs.com.git
git@gitee.com:mirrors_jsantell/mirrors_jsantell_2013.cascadiajs.com.git
mirrors_jsantell
mirrors_jsantell_2013.cascadiajs.com
2013.cascadiajs.com
master

搜索帮助