书中提到了ruby on rails,所以百度了下,介绍如下:

题外话:Ruby on rails 它是一种可以使你开发,部署和维护的WEB应用程序变得简单的框架,以简化web开发为目标,它简洁,易懂,框架里的配置文件较少,它遵循了简单由于配置的原则,它使用的是实时映射和元编程语言,有内建的生成器,使得程序员无需关心一些脚本模板的细节,而更注重与系统的逻辑结构。

在谈论架构的时候,人们总是将其与建筑联系起来,这样理解架构的时候会更通俗易懂一些,它们都是根据一定的需求进行设计。《架构之美》中强调了表达的“简洁性”——Don't repeat yourself,而美的核心在于概念的完整性(一组抽象和规则)。好的架构就能很好的展示架构的完整性,它能利用这些规则来减少系统的复杂性,指导详细设计和系统的验证。

在设计架构的时候,常见的系统的关注点:

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

可变性:软件将来可能需要哪些改变?

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

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

生态系统:在不是的生态环境中,该系统将于其他系统进行哪些交互?

模块化:如何将编写软件的任务分解为工作指派?特别是这些模块可以独立的开发,并能准确而容易的满足彼此的需要。

可构建性:如何将软件构建成一组组件,并能够独立实现和验证这些组件?哪些组件应该复用?

产品化:如果产品将以集中变体的形式存在,如何开发一个产品线,并利用这些变体的共性?产品线中的产品以怎样的步骤开发等等。

书中介绍了什么样的的架构才算是美丽的架构,美丽的架构在开始时,要关注其实用性,好的架构应该是每天被很多人使用的;使用架构之前,我们还要考虑它必须要能够被构建(可构建性);接下来就是关注架构的可持久性,好的架构应该能够经得起时间的考验,能够考虑到未来的变更,允许期望的修改;最后,要寻找一些能让人高兴的架构(开发人员、测试人员、用户等),这就要求架构必须满足概念完整性,这样的架构才易懂,易用,才会做到简单而又不过于简单。几个比较常见的美丽架构的例子有:A-7E舰载飞行处理器的架构;朗讯5ESS电话交换机软件架构;万维网;UNIX系统。

转载于:https://www.cnblogs.com/liguoshuai/p/6411237.html

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

  1. JS高级程序设计——阅读笔记四

    JS高级程序设计--阅读笔记四 第六章 集合引用类型 6.1 Object 6.2 Array 6.2.1 创建数组 from()函数 6.2.2 数组空位 6.2.3 数组索引 6.2.4 检测数组 ...

  2. C++的35个技巧阅读笔记(四)

    文章目录 28.Smart Pointers(智能指针) 29.Reference counting(引用计数) 30.Proxy classes(替身类.代理类) 31.让函数根据一个以上的对象类型 ...

  3. 《构架之美》阅读笔记四

    企业中聚焦信息的架构展示了与Web一样的明确特点:伸缩性.弹性.架构迁移策略.信息驱动的访问控制等.Web服务的目标是要成为一种业务策略,形式,是在不影响客户的情况下升级这些系统.在大家的概念中,We ...

  4. 架构之美阅读笔记之一

    寒假生活开始了,关于软件架构这部分的学习,我选择的是<架构之美>这本书.这本出版于2009年的书,由浅入深地讲述了从架构的概述,到企业级应用架构,系统架构,最终用户应用架构,再到语言与架构 ...

  5. 《软件构架实践》阅读笔记三

    这一章主要是通过ISSS系统的构架来分析交通管制系统的实际解决方案. 首先从物理视图的角度来分析,物理视图主要是一些硬件方面的视图,通过它我们可以清楚的看到各个硬件之间相互关联关系,使系统的物理分布显 ...

  6. 《软件构架实践》阅读笔记03

    <实现质量属性>这一章为我们提供了每个质量属性的构架方面的指导.一个好的设计需要实现一些质量属性,实现这些质量属性依赖于基本的设计决策,战术就是影响质量属性响应控制的设计决策. 了解到的第 ...

  7. 软件构架实践_阅读笔记01(1-3)

    之前的学期,我们学习了软件工程概论和软件需求分析,而下个学期即将学习软件体系架构.如课程安排的一样,如大众的观点一致:需求在架构之前.即传统的思想:在知道了系统的需求,就可以为此系统构建构架.而紧接着 ...

  8. 编程修养 阅读笔记四

    转载:http://blog.csdn.net/haoel/article/details/2872 26.为常量声明宏 -------- 最好不要在程序中出现数字式的"硬编码"( ...

  9. c++ primer 第五版 阅读笔记四

    第四章 复合类型 4.1 数组 数组的声明:关于数组的内容写了蛮多的,包括一维数组和二维数组的创建.调用.返回等等,甚至用到了static和new/delete关键字,详见:(一维数组相关内容)htt ...

最新文章

  1. Hessian(C#)介绍及使用说明
  2. 语言ppt课件猜拳_人教版初中数学七年级下册阅读与思考 一次方程组的古今表示及解法公开课优质课课件教案视频...
  3. Python Lambda函数的几种使用方法
  4. matlab图片矢量化,matlab图形矢量化解决方案
  5. Chrome 访问一次 Controller,请求却执行两次
  6. chrome 不支持12px以下字体为题的解决
  7. Linux先发送条件变量,浅谈Linux条件变量的使用
  8. Objective-C中的@property和@synthesize用法
  9. vc6开发一个抓包软件_开发一个软件多少钱?3种软件开发公司报价
  10. linux用户空间寄存器,在Linux用户空间中访问硬件寄存器
  11. 完成端口的回射服务器,给别人的代码添加了补丁(竞争问题,发送数据)
  12. 笨办法学 Python · 续 练习 8:`cut`
  13. vmware 虚拟机设置 redhat 桥接模式
  14. [转载] numpy总结
  15. MYOP究竟能为站长提供哪些便利
  16. UART RS232 RS485协议原理及应用
  17. lua 遍历删除_lua中table如何安全移除元素
  18. 搭建fastdfs服务,及单机redis服务,springboot实现h5与fastdfs之间的断点续传,大文件上传,秒传文件和批量上传
  19. Swift:一个简单的货币转换器App在iOS10中的分析和完善
  20. 转载:SyncToy安装使用详解

热门文章

  1. [Postgres]Postgres复制表
  2. [转]用g++编译动态链接库
  3. node --- 创建一个Socket服务器
  4. Node --- 构建一个HTTP服务
  5. 单例设计模式和多线程
  6. Linux 下实现普通用户只能写入某个目录
  7. JDBC(九)DatabaseMetaData 数据库元数据
  8. 关于什么时候用pop什么时候用dismiss
  9. C语言--在终端输入多行信息,找出包含“ould”的行,并打印改行
  10. [MySQL FAQ]系列 -- 快速还原MyISAM表索引