系统架构师

架构思维学习总结(四)

2022-06-06  本文已影响0人  奋斗的韭菜汪

2-4 架构设计底层认知

一、设计模式认知升级

  1. 架构设计模式和GOF 23种设计模式的关系
    Creational patterns 创建型
    Structural Patterns 结构型
    Behavioral Patterns 行为型
    问:为什么是23种?
    答:最初“四人帮”的总结规定,用的人多了成了标准(基于C/C++讨论的)。
    设计模式:复杂问题总结变成简单问题
    \color{red}{Command + Proxy = Chain of Responsibility},命令模式加代理模式可以实现责任链,还能更灵活

SOLID(软件设计原则)
作者:Uncle Bob
将23中设计模式提炼成五种概念

设计模式之本:设计
我们在做设计时可以参考23种设计模式,但不能局限于模式。
被设计模式局限的思维:"If all you have is a hammer, everything looks like a nail"
设计模式是理念而不是规则

二、设计思维

  1. 如何开展架构设计
    设计原型
    充分理解需求
    分层设计
    组件化
    识别和量化非功能性需求(比如是否要7*24小时运行,是否可以停机维护)
  2. 设计要达到最终的目标
    模块化(高内聚低耦合)

三、模块化思路

  1. 单体模式活用
    单机:全局变量 -> 缓存redis -> 配置中心
    活用点:系统中存在唯一共享模块可以参照singleton设计思想
    Event Drivern Design 使用的观察者模式
    2.内聚于耦合的区别
    内聚与耦合区别
    耦合分类:
    外部耦合、公共耦合、控制耦合、特征耦合、数据耦合、消息耦合
    非直接耦合(CQRS)
    内聚分类:
    功能内聚、顺序内聚、通讯内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚(可修改型低,可以放不修改的,比如MD5)。

utils/tool,实现了复用,同时也是偶然内聚,所以放在这些里面的内容要进过严格评审,禁止后期修改造成系统故障。

四、从架构设计到架构师

架构师职责:当前可以只考虑微服务架构
(1)微服务拆分(DDD)
(2)业务讨论和建模
(3)ADD框架迭代(数据建模和评审,数据库选型)
(4)脚手架搭建/概念图绘制/seviceless选用
(5)服务tps Qps估算(为选消息队列,缓存,数据库,限流等提供依据)
(6)开发规范制定
(7)健康、日志、埋点方案制定
(8) ...


程序员职业发展
cto与架构师区别
架构师的能力与工作
上一篇 下一篇

猜你喜欢

热点阅读