系统包括下面几个端 服务端 、客户端、后台、前端
首先要考虑的问题是各个端的通信协议,以及接口标准规范,服务端的数据库字段定义规范,以及各种实体(vo、dto、pojo、entity)的定义规范,详情可以参考阿里出的那个规范。
其次是服务端必须每个层都写测试用例,服务端的参数需要有效验证,防止接口直接调用。重要的逻辑需要打印日志,发版本之后两天日志为最高级别,防止问题找不到,或者不能及时找到。
接下来是整体的架构
1、分层(关注点分离) 依赖倒置原则和测试驱动开发
展示层、控制层、服务层(业务层)、数据访问层,(牵扯到敏捷开发,以及后续的springboot的微服务,当服务达到一个高级别的时候。)
2、事件驱动架构 分布式异步架构模式
事件队列(Event Queue)、调停者(Mediator)、事件通道(Event Channel)和事件处理器(Event Processor)
企业服务总线、队列或者集线器可以作为事件调停者
3、 微内核架构 插件架构(plugin architecture)模式
产品型系统
4、微服务架构 替代soa