Day07 周度总结

孤尽T31训练营已经走完一周,收获颇多,总结此文

Day01 架构设计
架构是一种能力,架构的理念是大道至简——解决问题
需求分析关注点
需求边界、用户故事、用户路径

伪需求与权力需求
问题分层
用户问题、业务问题、产品问题、技术问题

KISS原则与DRY原则
Keep It Simple and Smile
大道至简、保持微笑
Don`t Repeat Youself
一切重复的代码都可以抽象

七大设计原则
里氏替换原则、接口隔离原则、组合复用原则、依赖倒置原则、迪米特原则、开闭原则
熵增以及熵减(开闭原则)

架构与架构图
架构 = 组成 + 决策
架构图是 水平业务模块 + 垂直技术模块 依赖形成的 逻辑结构图
分类
业务架构图、应用架构图、数据架构图、技术架构图
传统架构图 4 + 1图
物理视图、逻辑视图、开发视图、处理视图、场景视图

23种设计模式
5种创建类
单例模式、建造者模式、抽象工厂模式、工厂方法模式、原型模式
7种结构类
代理模式、装饰模式、适配器模式、桥接模式、组合模式、外观模式、享元模式
11种行为类
访问者模式、模板方法模式、策略模式、状态模式、观察者模式、备忘录模式
中介者模式、迭代器模式、解释器模式、命令模式、责任链模式

Day02 UML图
用例图、类图、时序图、协作图、状态图、活动图、构件图、部署图
类图的六大关系
泛化关系、实现关系、聚合关系、组合关系、依赖关系、关联关系
组合跟聚合关系是关联关系的特例
组合效果更强
组合生命周期一致、不能单独存在
聚合整体跟部分生命周期可以不一致,可单独存在

时序图
描述对象之间发送消息的时间顺序显示多个对象之间的动态协作
只关注正常流程,不关注逆流程,不关注异常流程,不关注分支判断

常用UML图的画法…

Day03 MySQL规约
请详细阅读孤尽老师的《Java开发手册》
建表规约
表、字段命名
数据类型
表必备三字段:id create_time modify_time

索引规约
索引分类
主键索引(聚簇索引)、唯一索引(非聚簇索引)、普通索引(非唯一索引,非聚簇索引)
单列索引、组合索引
覆盖索引:是一种效果,查询字段全部命中组合索引字段,不回表查询

索引的数据结构
Hash、二叉查找树、BTree、B+Tree的特点
采用B+Tree的原因

索引名称规约
主键:pk_字段名
唯一:uk_字段名
普通:idx_字段名

索引创建规约
唯一性字段必须创建唯一索引
varchar字段索引必须指定长度
组合索引,区分度高索引放在左边(最左前缀原则)
不吝用、不滥用索引,不排斥唯一索引

SQL规约
性能优化
explain工具的使用

ORM映射规约
数据库三大范式

Day04ER图
基本元素
实体、属性、实体集、键、实体型、联系
ER图的绘制,绘图工具亿图图示
绘制流程图的步骤

Day05异常处理与日志
Java异常体系
Throwable -> Error、Exception -> 受检、非受检
异常处理流程
异常处理和实践
try catch finally,try with resource,特殊NPE场景及处理对策,Optional语法
异常规约:阅读《Java开发手册》

异常处理和捕获的原则
稳定代码不try
封装异常上下文参数
本层能处理异常不抛出上层
重视异常可以捕获的信息

日志规约:阅读《Java开发手册》
Logback框架的使用,配置对象及属性分析

Day06错误码
错误码功用
系统间沟通
人之间沟通
人和系统沟通

错误码规约:阅读《Java开发手册》

异常与日志综合实践
controller层统一捕获异常
全局异常处理组件
API层、Service层、DAO层异常设计

MDC实现轻量级调用链路追踪
链路追踪的功能

通用Service + 多样的ErrorCode解决复杂多变的业务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值