zoukankan      html  css  js  c++  java
  • 《编写可读代码的艺术阅读笔记》

    系统架构是什么?
    wiki定义
    A system architecture is the conceptual model that defines the structure, behavior,and more views of a system.

    系统架构描述的几个要素

    系统是如何组成,功能在这些组成部分之间是如何划分的。(这里如果想划分合理更像是领域驱动设计)

    各个系统如何联动,如何完成任务/流程。(系统子模块如何协作与交互)。

    不同的角度,更详细的刻画系统的全貌。(我理解是子模块内部是如何运作的,细化到方法)。

    系统架构在不同层次的体现
    总体设计
    模块设计
    系统设计的方法(要求)
    每个组件/模块的功能都应该足够专注和单一。(软件设计的单一职责原则)
    子系统/模块 关系简单清晰。(高内聚、低耦合)
    需求是系统设计决策的来源。(这里,我觉得软件工程师,不光得逻辑好,而且语文(哲学)也得好)
    在设计中,经常要做trade-off
    需求是决策的重要依据。
    模型/抽象的思维能力。
    思考的重点:概念、模型、数据结构、算法。
    需要脱离开代码的细节:函数、语言。(看到这里,想起来我实习的时候,带我的老阿里,他和我说,设计的时候不要想细节如何完成,因为详细设计里会有而且肯定可以实现。我想起,读书阶段看到的一个例子,比如说系统设计的时候,某个同学出门,不需要思考到他是如何出门的,是拉开门还是推开门还是别人帮忙用钥匙开门。)

  • 相关阅读:
    c++中的内存管理【转载】
    c++中dynamic_cast、static_cast、reinterpret_cast和const_cast作用
    c++中的顶层const和底层const
    c++赋值操作符需要确保自我赋值的安全性问题
    二分法查找
    Servlet基础总结
    java 正则表达式:有丶东西
    HTTP协议初步认识
    Java synchronized到底锁住的是什么?
    ECMA Script 6新特性之解构赋值
  • 原文地址:https://www.cnblogs.com/wyppaa/p/14941236.html
Copyright © 2011-2022 走看看