架构与实现
- 架构是关注系统结构与行为的决策流,实现是围绕架构的程序开发过程
- 架构注重把控系统的边界,实现是在边界范围内建立“领地”
- 所有架构的可实现性都是等效的,但实现的成本、效率绝不会相同
模式与框架
- 模式是通用代码的抽象,设计的复用
- 框架是开发的脚手架,代码的复用
系统视图
- 组成视图
系统架构图
- 交互视图
- 部署视图
- 流程视图
泳道或者时序图
- 状态视图
状态机
代码分类
- 功能代码
就是业务代码
- 控制代码
基础代码,如微服务架构的那些基础架构代码
- 运维代码
如日志代码,诊断代码
粗放与精益:编程的两种思路与方式
- 编程,其实一开始哪有什么完美,只有不断变得更好。
- 好不是完美,好是一个过程,一个不断精益化的过程。
Bug分析
Bug出现的原因
- 粗心大意
- 认知偏差
技术上认为正确的事情,可能其实不是那样的。自己认知的不够清晰
- 熵增问题
系统复杂度。所以会有后来的微服务解耦复杂度
解决的方法
- 粗心大意-> 引入开发规范,代码风格,流程约束,代码评审和工具检查
- 认真偏差-> 自我积累和学习
- 熵增问题-> 引入一些降低复杂度的架构,如微服务。
- 营造环境-> 创建一种内部环境,如扁平化管理