架构师修养7.1

抽象思维、目标思维

什么是抽象

从事物中抽取共同的部分(属性)表面描述
每个共同的部分 代表事物的个性,原理性抽象

事物分
看得见的事物和看不见的事物

抽取事物内部的属性就是抽象思维

抽象就是抽象事物的属性和方法

抽象的过程就是
透过现象(变化)看本质(不变)
抽象就是一个分类过程
根据事物的属性分类

如何抽象

  1. 感性认识,看得到的一切,基本描述
    分两类,对事物本身的外在描述,对事物之间的关系描述
  2. 分析
    分开剖析,把事物拆分成零部件分析,
    程序本身是一个树,每个节点 是一个组件,每个组件可替换说明架构扩展性强
  3. 分离
    关注子组件
  4. 比较
    比较事物的共同点
  5. 综合
    推理、判断

总结

抽象事物本身存在,看不到,但是存在于每个具体的事物中
抽象对象必须从两个以上的事物对比得出,
只要有对象交互的地方就可以产生新事物
研究对象和对象的关系

什么是目标

系统、功能、需求、架构师。
希望达到的某一个结果,依靠人力,即想象力。
制定目标一定要具体化,不具体的目标很难实现。没有目标就没有方向。
架构师的目标
制定业务目标,

如何实现目标(电商系统)

  1. 感性认识
    电商系统是什么
    为什么要开发电商系统
    给谁开发?
    电商系统的核心:支付
    能够解决核心问题叫做核心领域模型,
    确定非核心领域模型,
    订单、团购、商品
    生成领域模型树

架构设计
设计模块,创建表

架构师

  1. 项目方面

    1. 如何分析需求?
      • 需求只是一个方案
      • 需求是谁提出来的?
      • 需求的边界在哪里
      • 需求的核心点在哪里
      • 怎么去实现这个需求
      • 举例子:项目:是否能够实践
    2. 业务,技术,架构之间的关系?
      • 业务是一个目标
      • 为了完成这个目标使用很多技术
      • 对技术的整合就是业务架构
    3. 项目如何落地?
      1. 拆分
      • 找到核心点
      • 分清非核心点
      • 文件夹拆分,一个是程序集拆分,项目方式拆分。
      1. 协调利益关系
      • 项目是靠人完成
      • 如果公司只有我一人,我会将架构文件夹拆分,自己开发
      • 如果公司业务发展,增加了很多人,项目方式拆分。
      • 如果项目里面有很通用的模块,那么使用程序集拆分
  2. 系统设计方面

    1. 如何设计一个高并发系统?
    - [ ] 系统拆分 : 拆分子系统,形成集群,可以抗高并发。
    - [ ] 缓存:都是读多写少,redis单机可以轻松搞定几万的并发。用缓存来抗高并发。
    - [ ] MQ:数据库会频繁修改,进行增删改查。同步请求存在性能瓶颈,改成异步提供并发量
    - [ ] 分库分表:讲查询数据尽量少一点,提供sql的性能 
    - [ ] 读写分离:读的流量很大的话,必须从从库里面读,性能会好
    - [ ] Elasticsearch:本身就支持高并发量,可以让Elasticsearch承担读写的压力 
    - [ ] 细节:具体情况具体分析。提出具体的技术。 
    
  3. 技术方面

    1. 负载均衡算法和实现
    • 轮询算法
    • 加权轮询
    • 最少连接
    • 随机算法
    • Hash一致性
    1. 框架实现
  4. 基础方面

    • 对象之间的关系有哪些?
    • 继承关系 :集成抽象类和具体类
    • 实现关系 :实现接口
    • 依赖关系:方法局部变量,方法形参
    • 关联关系
      - [ ] 聚合 :成员变量表示 生命周期不一样
      - [ ] 组合 :成员变量表示 生命周期一样 人
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值