首先,《架构之美》是机械工业出版社2009年11月出版的图书,作者是Till Adam。本书围绕5个主题领域来组织本书的内容:概述,系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。

         作者首先告诉了我们什么是架构,架构应该是一组结构,来源于一组设计规则,能减少复杂性。常见定义是,每种结构由各种类型的组件和关系组成,它们如何组合、相互调用、通信、同步、及其其他交互,简单来说就是组件及组件间的关系。其次我们要理解架构存在的目的,是确保利益相关人员的关注点能够得到满足,而在构想、计划、构建和维护系统时,系统架构能够处理复杂性。为了对付复杂性,系统被分解为一些交互的组件。而每种结构都有特定的关注点,如可变性和性能。各种关注点需要相互妥协、折中。

架构师就需要做以下一些工作:如满足客户需要,整个系统应用相同的设计原则,满足法规和安全性需求等。    此外,我还了解架构与需求的关系,外部行为的描述,展示了产品如何与它的用户、其他系统和外部设备之间的交互,这应该表现为需求。结构描述,展示了产品如何划分为多个部分,以及这些部分的关系。

      除此之外,我还了解了架构要尽量简单,但不要过于简单, 尽量简单可以便于修改,过分牺牲简单性的修改要抵制,系统设计需要保持概念完整性、一致性等

转载于:https://www.cnblogs.com/sunmei20142925/p/6408659.html

《架构之美》阅读笔记01相关推荐

  1. 梦断代码阅读笔记01

    就像这本书的推荐序一样,这本书最大的的魔力是它不只是讲技术和理论,而是向我们真实的反映了一流软件开发师是如何进行软件开发的,他把真实的事,人,技术以及产品的发展过程结合在一起.我们现在没有进行开发项目 ...

  2. 梦断代码阅读笔记之一

    最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写 ...

  3. 梦断代码阅读笔记03

    经过几天的阅读,终于将这本书看完了,读完了整个故事,我进行了简单的总结,感觉不仅仅是在写代码与计算机或软件交流,更多的是做事行为. 首先是做事得有目标.无论做什么事情都要有目标和动力,这样做起事来无论 ...

  4. 梦断代码阅读笔记之二

    第5章 管束奇客和狗 管理的任务就是让人能协同工作,益其长处.弱其短处.数字只是管理的一个起点,并非终点. 用代码行数计算软件生产力不太可靠. 非正式机制总是存在,而且如果没真正理解就改变他是很危险的 ...

  5. 梦断代码阅读笔记 03

    孟子曾经曰过"鱼,我所欲也,熊掌亦我所欲也:二者不可得兼,舍鱼而取熊掌者也",这就是我们耳熟能详的"鱼与熊掌不可兼得"的由来,无独有偶,其实生活中也有很多的&q ...

  6. 梦断代码阅读笔记02

    最近读到了第四章,大体讲了: 模块化和组件化是软件人员的梦想,谁都想把几个模块插到一起就可以完美的运行并完成任务,但现实却相当残酷,可以运行的模块通常不能与自己想写的程序配合工作,好的源代码由于商业利 ...

  7. 梦断代码 ---阅读笔记02

    Agenda之魂 由于不知道Agenda的意思,所以去查了一下,它是议事日程; 待议诸事项一览表; 日常工作事项; 议程的意思.不过在本书中确实一个项目的名字,它是为解决各种信息的管理问题. 继续努力 ...

  8. 阅读笔记《梦断代码》其二

    梦断代码阅读笔记之二 读"乐高王国"的时候,真的引起了我的共鸣.因为以前我就是作者描述的那种程序猿,专注于制造螺丝和螺母这种小细节,而不屑于利用别人早就写出来不 知多少个版本的代码 ...

  9. 《梦断代码》阅读笔记01

    这几天阅读了老师推荐的<梦断代码>前几章,通过本书简介可以知道本书大概主要讲的是做软件过程中的困难. 第一章软件时间,主要讲的是从事软件制作行业的艰辛,需要没日没夜的加班工作,书中有这样一 ...

  10. 《梦断代码》阅读笔记之第8章至最后

    以下是我读了梦断代码第八章之后的读书笔记: 1.自己做的软件自己一定要用,即"吃你自己的狗食",自己的软件开发出来后自己都不会用那么还要指望别人用不成? 2.在软件开发编写代码的时 ...

最新文章

  1. 在.net中Regex(正则)的应用
  2. nginx视频直播/点播服务干货分享
  3. MAC ox下配置mysql
  4. python实现AES算法
  5. CSS设置动态超链接
  6. rails3使用ActionMail发送邮件
  7. android webview 禁止放大缩小,WebView无法放大缩小解决方案
  8. 华北电力大学计算机考研大纲,2015年华北电力大学(保定)085211计算机技术考研大纲...
  9. Ubuntu安装php7.2
  10. java姑娘_初识java这个小姑娘(二)
  11. MySQL日期处理函数实现博客按年月份进行分组
  12. Scheme学习系列一 :源码安装Gambit
  13. bootstrap select2 动态从后台Ajax动态获取数据
  14. 数字图像处理_冈萨雷斯
  15. 【MCU】一种灵活且省资源的IAP升级方案
  16. hadoop-uber作业模式
  17. 巴巴运动网学习笔记(76-80)
  18. python爬app西瓜视频_python3 scrapy抓取今日头条视频(西瓜视频)
  19. CDA数据分析师视频教程全套零基础入门excel考试教学课程2022
  20. android layout 界面开发,android 界面布局入门级示例(LinearLayout)

热门文章

  1. oracle10递归 nocycle,oracle 使用递归的性能提示测试对比
  2. oc引导windows蓝屏_人人都会遇到系统蓝屏问题,教大家自已排除蓝屏,学会一辈子受用...
  3. java testwhileidle_DBCP踩坑(二):连接池检查testWhileIdle失效
  4. 交错字符串Python解法
  5. flex 图片上传并以二进制保存到oracle数据库,flex 加载并显示图片 图片转化成二进制...
  6. 服务器的系统如何入账,云服务器费用如何入账
  7. java异常处理框架_深入探索 高效的Java异常处理框架(1)
  8. linux抓取网络信息,Linux获取所有网口及其详细信息
  9. 正则表达式给html添加属性,正则表达式替换html元素属性的方法
  10. 给php权限,PHP实现权限管理功能的方法