31天孤尽代码规范与效能提升训练营
31天孤尽代码规范与效能提升训练营目录
2021.10.24 开营典礼
2021.10.26 Day1
2021.10.28 Day02 MySQL设计规约
2021.10.30 Java异常处理和日志
2021.11.2 工程结构规约
这是第节课MYSQL设计规约的一个需求分析截图,通过下面的业务需求可以更好的理解下面的设计图
用例图
- 什么是用例图呢?
用例视图采用参与者和用例作为基本元素,以不同的视觉展现系统的功能性需求。用例视图是了解系统的第一个关口,人民通过用例视图得知一个系统将会是什么。对客户来说,用例视图是他们业务领域的逻辑化表达,对建设单位来说,用例视图是系统蓝图和开发的依据。
用例视图分为: - 业务用例视图
- -系统用例视图
- 概念用例视图
- 概念用例视图用于展现从业务用例中经过分析分解出来的关键概念用例,并表示概念用例和业务用例之间的关系。一般来说这些关系有扩展、包含和精化
下面介绍下主要的概念
参与者(actor) 在建模过程中处于核心地位。actor是系统之外与系统交互的某人或某事物
用例是一种把现实世界的需求捕获下来的方法
扩展关系特别用于在用例模型中说明向基本用例中的某个扩展点插入扩展用例
包含关系特别用于用例模型,说明在执行基本用例的用力实例过程中插入的行为段
类图
- 什么是类图呢?
类图用于展示系统中的类与其相互之间的关系,本质上说,类图是现实世界问题领域的抽象对象的结构化,概念化、逻辑化描述。
时序图
状态图
状态图显示一个状态机。状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统该行为中受事件驱动的方式进行建模。
活动图
活动图描述了为了完成某一个目标需要做的活动以及这些活动的执行顺序。UML中有两个层面的活动图,一种用于描述用例场景,另一种用于描述对象交互。
2021.11.4 技术架构选型
关于技术选型
- 为什么要进行技术选型
- 可以降低成本
- 提高研发效率
- 编程语言排行榜
- Java还是处于领先地位 - 微服务架构的产生 - 巨石应用
- 第一代单体应用,所有的模块打包到一起部署运行
- SOA,面向服务架构,它是一种设计方法,设计上通常是自上而下的,服务间松散耦合。
- 微服务,是去中心化的SOA扩展
微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。
微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。
整体式架构与微服务架构
通过整体式架构,所有进程紧密耦合,并可作为单项服务运行。这意味着,如果应用程序的一个进程遇到需求峰值,则必须扩展整个架构。随着代码库的增长,添加或改进整体式应用程序的功能变得更加复杂。这种复杂性限制了试验的可行性,并使实施新概念变得困难。整体式架构增加了应用程序可用性的风险,因为许多依赖且紧密耦合的进程会扩大单个进程故障的影响。
使用微服务架构,将应用程序构建为独立的组件,并将每个应用程序进程作为一项服务运行。这些服务使用轻量级 API 通过明确定义的接口进行通信。这些服务是围绕业务功能构建的,每项服务执行一项功能。由于它们是独立运行的,因此可以针对各项服务进行更新、部署和扩展,以满足对应用程序特定功能的需求。
整体式与微服务
将整体式应用程序拆分为微服务