让编程变得可推导的三种方向

让程序变得可推导,关键是对可变状态的围剿,纵观业界有三种方向:
1. 通过函数式语言让不变性成为语言的默认特性,这样可变状态变成特例。这种方式会让程序员尽量不用可变状态,就是没办法回避也会努力花力气做好做完善。

2.让可变状态变成编程的核心,也就是说,从需求分析到代码设计,可变状态一直是我们的核心,重点对象,包含可变状态的DDD实体方法属于这种范畴。参考:通过实体快照实现事件建模

3.通过关注分离,将可变状态从系统中通过特殊框架和模式分离出来,比如Javascript世界的React.js,包括Actor模型倡导的reactive编程方式,所谓react即时反应,隐式其实隐藏着一个前提,在状态变化触发的即时反应,所以,这种方法也是一种以可变状态为核心的。javascript前端React.js相关参考:前端Flux架构简介,最新的英文youtube视频:React.js Conf 2015 Keynote - Introducing React Native

[该贴被banq于2015-01-29 11:39修改过]