一、善用UML工具
用例图
用例图
静态图:类图、对象图、包图
静态图
交互图-时序图(注重时间)
时序图
交互图-协作图(注重对象)
协作图
行为图-状态图(注重状态)
状态图
行为图-活动图(注重活动)
活动图
实现图-组件图
组件图
实现图-部署图
部署图
二、遵从设计原则
设计模式基础
单一职责:一个类只负责一个职能;
里氏转换:在子类中不应重写、重载父类的方法,子类要能替代父类;
接口隔离:不依赖不需要的接口,拆分大接口;
迪米特法则:一个对象应该对其他对象保持最少的了解(低耦合);
开放封闭:对扩展开放,对修改关闭;
依赖倒置:抽象不应该依赖细节,细节应该依赖抽象,即针对接口编程,所有依赖关系都终止于抽象类或接口,不要对实现编程。
设计模式
创建型
结构型
行为型
分布式设计原则
高可用
高并发
业务设计
分布式理论
一致性原则
超时处理
两状态同步接口(OK/ERR):接口调用超时,调用方查询+补偿;接口内部服务超时,内部快速失败+冲正;
三状态同步接口(OK/ING/ERR):接口调用超时,调用方查询+补偿;接口内部服务超时,返回处理中,内部查询+补偿到成功,调用方轮询;
异步接口:接口调用超时,调用方查询+补偿;接口内部服务超时,内部查询+补偿到成功,回调通知;接口回调通知超时,指数补偿回调;
消息队列:生产者发送超时,持久化可靠发送+幂等消费;消费者消费超时,消息处理完偏移量增加。
缓存
三、画好架构图
4+1视图
场景视图:参与者与功能用例关系,用例图表示;
C4视图
语境图:梳理待建设系统用户和高层次依赖,在中间画出自己的系统,周围是用户与其它交互系统。
C4语境图容器图:展开语境图待建设系统,用框图表示,可包含名称、技术选择、职责、框图间交互,明确外部系统边界。
C4容器图组件图:展开某个容器,描述其内部模块组件组成、关系。
C4组件图类图:同UML静态图,此处不再展开。