去年我也面临项目推倒重来,架构选型的情况。我当时采用的MVVM的架构,后面发现当需要新增、删除业务时,需要调整从上到下的层级。另外当业务逐渐变得复杂时,尤其是当业务之间存在彼此依赖的时候,业务的维护成本会越来越高。
我现在是使用MVVM作为微内核,实现单一业务。业务与业务之间是彼此独立的,通讯采用接口。任何与业务无关的,如:“存储”、“访问API接口”、“传感器调用”等,都实现成微服务,由对应的微服务管理器向外暴露服务接口。
分为这几3个层次:
1、业务(纯粹的业务实现)
2、微内核(业务的实现 依赖于微内核)
3、微服务(微服务都可以被独立编译调试,只要你为微服务设置一个驱动入口)