业务背景: 公司有很多业务线,比如开发 2 款功能相近,UI 不同的 APP, 不同业务线可能 80%逻辑差不多, 后端用的都是一套代码, 前端就比较麻烦了.
整体思路: 每个页面一个 Model, Model 中包含 data 和 function, 然后 UI 和 data 绑定, 页面事件(生命周期,点击事件)调用对应的 function,
实际开发中每个页面有一个 Mediator,通过 MediatorManager Singleton 管理,相当于数据层 keep-alive Mediator 其实就相当于后台和 UI 层的中间件包含 data 和 function, 然后前端直接用 Mediator 渲染 UI,
iOS, Android, h5 通过 MVM 架构, 这样,逻辑部分用一套代码,细节上继承,重写一些方法就行了,iOS, Android, h5 逻辑代码一套, 只需要写不同业务的 UI 代码就行
尤其对于 h5 非常适合,由于 css 可以独立出来,h5 代码复用率最高
后来发现这个架构比想象的要好用不少, 理论上可以用 unit test 替代 UI test,逻辑代码复用率高等优点 具体细节和优缺点 请点击 https://github.com/AblerSong/MVMDemo