码迷,mamicode.com
首页 > Web开发 > 详细

[Cycle.js] The Cycle.js principle: separating logic from effects

时间:2016-01-26 20:15:27      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

The guiding principle in Cycle.js is we want to separate logic from effects. This first part here was logical, and this second part here was effects. Effects are everything that change the external world somehow, the real world such as the DOM is connected to the browser, which is the connected to the user, so when we do something like set the text content, we are changing the screen that will shown to the user. So things like console.log and HTTP network requests, all of these things are effects, and these things live in subscribes.

Logic on the other hand, this is not changing the external world anyhow, it‘s just an event stream of numbers every second, and we‘re mapping that event stream to another event stream with strings. This part here is functional, it‘s all about mapping some primitives to others, and this side is imperatives. Our guiding principle for Cycle.js is we want to push subscribes as far away as we can from our app.

So this part of subscribe we want this to live in the framework, and this part is the only thing that the developer will write as the app. That is the guiding principle to separate logic from effects.

console.clear();
// Logic
Rx.Observable.timer(0,1000)
.map( i => `Second elapsed ${i}`)

// Effect
.subscribe( text => console.log(text))

 

[Cycle.js] The Cycle.js principle: separating logic from effects

标签:

原文地址:http://www.cnblogs.com/Answer1215/p/5161333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!