一、目标

1、提升开发速度
2、更好的响应需求变化

二、面临的问题

业务需求的变化是永恒的,而变化势必会引发代码的变化,新增代码或修改代码。

改动的地方越多,引入新的错误几率就越大。

三、应对思路

最小化原则,确保每次业务需求变化可以用最小的代价来完成。

1、视图模板化,组件化

2、逻辑代码对象化、版本化

3、事件传递参数化、代理化

四、架构模型

1、视图

2、逻辑与事件通信

视图层需要传递一组参数(对象名、方法名、方法需要的参数)

五、代码示例

//wxml代码<view bindtap='bindViewEvent' data-model="user" data-method="sayhello" data-text="hi,nihao">sayhello</view>//js代码,page页里只有一个事件路由业务函数bindViewEvent:function(e){ app.excute(this,e); } //app.js /* * 事件路由函数 */ excute:function(that,e){ new umitech(that,this.config).extend(e);//动态加载对象,并调用相关方法 }

github示例代码