zoukankan      html  css  js  c++  java
  • 架构之美阅读笔记一

          假期里为了初步了解下学期要进行学习的架构知识,所以开始对《架构之美》这本书进行阅读学习。

          精读了《架构之美》的前两章,对与软件工程的学生来说,设计软件是非常重要的,初步阅读了这本书的前面部分后能够明白什么是架构,读完之后能需要明白什么样的架构应用到软件上更加合理,应该怎样来构建合适的架构来适应所要开发的软件,这就是阅读这本书最终的目的。

          第一章架构概述首先介绍架构,架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉了另一些细节。软件系统的架构包括行为上的和结构上的。外部行为描述展示了软件如何与用户、其他设备和外部设备进行交互,也就是需求。结构描述展示了软件如何被划分为多个部分,以及这些部分的关系。我们在其中扮演的是架构师的角色,所要做的就是能够构建出所需的框架。所谓架构就不是在纠结于系统功能的层面了,而是在这一个环节之前所要做的工作,它将关系到整个系统的稳定性和延续性,就像建筑的框架,有了好的结实的框架功能这些“家具”才能安安稳稳的搬进去,这是我的理解。

          第二章现代软件神话通过两个例子来进行架构的说明。混乱大都市:它的特点是:1、没有统一的概念将不同的部分组织起来;2、代码各式各样,风格不一,难以适配;3、额外的数据缓存;4、整个系统没有文档记载,难以维护和扩展。造成这样的结果的原因:1、首先不清楚需求,不知道要做什么;2、系统架构设计不合理;3、代码风格各异难以适配;4、开发周期长,系统测试困难。设计之城(成功的设计往往是一个持续的过程):它的特点:1、初期确定功能领域,确定架构;2、系统设计采用分层结构,可随时进行添加扩展。相较而言,一个好的架构1、软件清晰的定义,分层的设计,功能划分明确,各部分的依赖关系,数据通信方式确定。2、代码结构清晰,功能模块划分后,对于底层和组件的关系进一步分析,将结构进行分层设计。3、外部接口与内部实现尽量分离。所有外部接口部分的声明都单独放在一个文件中,而内部结构的声明与实现放在其他文件中。4、统一的框架和一些代码生成工具。保证了内部统一的风格,编码惯例。但是这些框架和工具也增加了入门的难度。5、保证单元测试,并且有一个完整的simulator,离线模拟器,replay模块,保证了测试的及时性。6、版本控制工具。其他比较大型的项目的通病: 编写比较复杂的结构,并使用一些自制工具,这使得入门比较难。知其然不知其所以然。

  • 相关阅读:
    python,生产环境安装
    neo4j 图数据库
    RNN系列
    机器学习关于AUC的理解整理
    fensorflow 安装报错 DEPENDENCY ERROR
    dubbo Failed to check the status of the service com.user.service.UserService. No provider available for the service
    使用hbase遇到的问题
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
    gradle 安装
    jenkins 安装遇到的坑
  • 原文地址:https://www.cnblogs.com/lk0823/p/6398994.html
Copyright © 2011-2022 走看看