架构之美随笔六(读完正本书的认识)

  本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。个人感觉这本书就如同汇集了各个电视频道充斥的各类股评专家(当然是顶尖级的)的析股法则大全。而什么是成熟的架构师呢?简单来说,就是能够取各家之所长,因地制宜,形成适合自己设计场景的架构设计规律法则。

  这系列更像比较文学的IT版,并没有设计模式之深邃伟岸,但其经验仍极为难得,并不可多见,通读一遍,无论对扩展见识,还是增加架构经验,都有不少好处,值得一读。
 印象最为深刻是Emacs和FaceBook两章,一讲可扩展客户端的设计,一讲大型网站的内部架构,都是现在热门话题,参考意义很大。.架构是所构建系统的计划,确保由此得到期望的特性,同时也是所构建系统的描述。

   架构师首先关注的不是系统功能。比如 让你开发一个web应用。你首先向确认的不是页面布局和导航之类的。而是下面的问题。
   1).想发布在Windows服务器上还是LAMP上。
   2).谁提供主机的托管,有什么技术限制?
   3).想支持多少并发用户?
   4).应用需要怎样的安全性?有需要保护数据吗?运用在公网还是私网上。
 

  成功架构师的两项关键实践:让利益相关人参与以及同时关注功能和品质。利益相关人和他们的关注点包括:

  投资人:他们想知道项目能否在给定的资源下和进度约束下完成。

  架构师、开发人员、和测试人员:他们考虑的是最初的构建和以后的维护与演进。

  项目经理:组织团队,指定迭代计划。

  市场人员:通过品质特点实现与竞争者的差异化。

  用户,包括系统管理员:安装、部署、准备。

  技术支持人员:关注帮助平台电话呼入的数目和复杂性。

  系统的关键关注点:

  功能性:产品向它的用户提供哪些功能。

  可变性:软件将来需要哪些改变?哪些改变将来不太可能发生。

  性能:产品将达到怎么样的性能?

  容量:多少用户将并发使用该系统?该系统将为用户保存多少数据?

  生态系统:该系统将于其他系统进行哪些交互?

  模块化:如何将开发任务分解为模块,特别是这些模块可以独立的开发,并且能够容易满足彼此的需要?

  可构建性:如何将软件构建为一组组件,并能独立实现和验证这些组件?

  产品化:如果产品将以几种变体的形式存在,如何开发一个产品线,如何保持共性,以怎样的步骤开发?

  安全性:产品是否需要用户认证,数据的安全性如何保证,如何抵挡攻击?

  总而言之,这本书对于我们初识架构的人来说,算得上是涉猎。书中大部分内容还是读的有点晦涩。主要是还没有真正认识和接触架构的原因吧,但也不能说没有收获,通过对大型项目的分析为我们的架构提供了参考。

原文地址:https://www.cnblogs.com/Againzg/p/6405147.html