状态机,让所有的状态变化通过中心函数发生。需要改变应用状态的事件代码通过调用单一的函数完成工作,这个函数被所有需要改变应用状态的代码调用,包含了状态转换逻辑。如下面代码:
这样做是好的封装方式。每个用户界面组件事件处理代码不需要直接修改用户界面状态,而是改为调用中心状态管理函数来执行必要的工作。随着应用的进展和变化,这个过程的可扩展性很好。如果需要增加另外的控件或者另外的应用状态时,我们有一个集中的并且容易理解的方法把这些整合到编程模型中。
摘自Ivo Salmre的著作 Writing Mobile Code:Essential Software Engineering for Building Mobile Applications