架构思维学习总结(四)
2022-06-06 本文已影响0人
奋斗的韭菜汪
2-4 架构设计底层认知
一、设计模式认知升级
- 架构设计模式和GOF 23种设计模式的关系
Creational patterns 创建型
Structural Patterns 结构型
Behavioral Patterns 行为型
问:为什么是23种?
答:最初“四人帮”的总结规定,用的人多了成了标准(基于C/C++讨论的)。
设计模式:复杂问题总结变成简单问题
,命令模式加代理模式可以实现责任链,还能更灵活
SOLID(软件设计原则)
作者:Uncle Bob
将23中设计模式提炼成五种概念
设计模式之本:设计
我们在做设计时可以参考23种设计模式,但不能局限于模式。
被设计模式局限的思维:"If all you have is a hammer, everything looks like a nail"
设计模式是理念而不是规则
二、设计思维
- 如何开展架构设计
设计原型
充分理解需求
分层设计
组件化
识别和量化非功能性需求(比如是否要7*24小时运行,是否可以停机维护) - 设计要达到最终的目标
模块化(高内聚低耦合)
三、模块化思路
- 单体模式活用
单机:全局变量 -> 缓存redis -> 配置中心
活用点:系统中存在唯一共享模块可以参照singleton设计思想
Event Drivern Design 使用的观察者模式
2.内聚于耦合的区别
内聚与耦合区别
外部耦合、公共耦合、控制耦合、特征耦合、数据耦合、消息耦合
非直接耦合(CQRS)
功能内聚、顺序内聚、通讯内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚(可修改型低,可以放不修改的,比如MD5)。
utils/tool,实现了复用,同时也是偶然内聚,所以放在这些里面的内容要进过严格评审,禁止后期修改造成系统故障。
四、从架构设计到架构师
架构师职责:当前可以只考虑微服务架构
(1)微服务拆分(DDD)
(2)业务讨论和建模
(3)ADD框架迭代(数据建模和评审,数据库选型)
(4)脚手架搭建/概念图绘制/seviceless选用
(5)服务tps Qps估算(为选消息队列,缓存,数据库,限流等提供依据)
(6)开发规范制定
(7)健康、日志、埋点方案制定
(8) ...
![](https://img.haomeiwen.com/i9811180/394520b9ac54fd88.png)
![](https://img.haomeiwen.com/i9811180/586b6fd5a101b567.png)
![](https://img.haomeiwen.com/i9811180/f7a3c21fd3c03e51.png)