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

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

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

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

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

  • 相关阅读:
    Gym
    Gym
    Gym
    Gym
    Gym
    bzoj 2734: [HNOI2012]集合选数
    bzoj 1068: [SCOI2007]压缩
    HDU 2899 Strange fuction
    hihocoder #1142 : 三分·三分求极值
    HDU 2824 The Euler function
  • 原文地址:https://www.cnblogs.com/lk0823/p/6398994.html
Copyright © 2011-2022 走看看