一周总结
主要学习了关于后端开发方面关于项目结构、项目中不同部分技术选型、编码方面的一下设计规范,同时也评讲了一下前一周中关于UML图设计的要点。
常用UML图表达的设计要点总结:
用例图:角色(有什么角色)和行为(不同角色的行为是什么)。
类图:模型的抽象、模型的属性和行为及不同模型之间的关系。
时序图:参与协作的对象是什么,随着时间的推进系统的行为是什么。
状态图:系统有多少状态、状态触发的条件(图中的同心圆表示:一条状态变化路线已到结束状态,不可逆转)
活动图:多少个系统参与协作; 每个处理流程的瞬间判断、循环是这样进行的(主要与流程的区别)
项目分层的好处:
-
隐藏下层业务的复杂度
-
提高系统的组件化和可维护性、可扩展性
技术选型的顺序问题:先整体再局部,先底层后高层
SOA和微服务的思维区别:
SOA:
1. 由于单体巨石应用无法灵活扩展,且部署困难
2. 设计是自上而下的
3. 从运维侧出发,更多聚焦可维护性,兼顾可扩展性,从前后端分离
微服务:
1. 服务彻底的组件化,可灵活扩展,组合服务使用
2. 设计是自下而上的
3. 从产品侧出发,更多聚焦可扩展性,兼顾可维护性
数据访问层选型目的:
1. 数据库连接管理问题
2. 处理数据库查询数据和java对象高效映射
消息中间件选型:功能不具备一票否决权、重性能、 重扩展、技术栈、团队驾驭能力