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
    需求是决策的重要依据。
    模型/抽象的思维能力。
    思考的重点:概念、模型、数据结构、算法。
    需要脱离开代码的细节:函数、语言。(看到这里,想起来我实习的时候,带我的老阿里,他和我说,设计的时候不要想细节如何完成,因为详细设计里会有而且肯定可以实现。我想起,读书阶段看到的一个例子,比如说系统设计的时候,某个同学出门,不需要思考到他是如何出门的,是拉开门还是推开门还是别人帮忙用钥匙开门。)

  • 相关阅读:
    [leetcode] Copy List with Random Pointer
    [leetcode] Single Number II
    团队项目NABCD模型的需求分析
    团队项目的分工及绩效评估方法
    软件工程结对作业实验报告
    Java jdbc链接 mySQL 写的crud
    从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0的解决方案
    红黑树简介
    再学HTML之一
    Java script 的dom编程
  • 原文地址:https://www.cnblogs.com/wyppaa/p/14941236.html
Copyright © 2011-2022 走看看