《架构之美》阅读笔记四
书中提到了ruby on rails,所以百度了下,介绍如下:
题外话:Ruby on rails 它是一种可以使你开发,部署和维护的WEB应用程序变得简单的框架,以简化web开发为目标,它简洁,易懂,框架里的配置文件较少,它遵循了简单由于配置的原则,它使用的是实时映射和元编程语言,有内建的生成器,使得程序员无需关心一些脚本模板的细节,而更注重与系统的逻辑结构。
在谈论架构的时候,人们总是将其与建筑联系起来,这样理解架构的时候会更通俗易懂一些,它们都是根据一定的需求进行设计。《架构之美》中强调了表达的“简洁性”——Don't repeat yourself,而美的核心在于概念的完整性(一组抽象和规则)。好的架构就能很好的展示架构的完整性,它能利用这些规则来减少系统的复杂性,指导详细设计和系统的验证。
在设计架构的时候,常见的系统的关注点:
功能性:产品向它的用户提供哪些功能?
可变性:软件将来可能需要哪些改变?
性能:产品将达到怎样的性能?
容量:多少用户可以并发使用该系统?该系统将为用户保存多少数据?
生态系统:在不是的生态环境中,该系统将于其他系统进行哪些交互?
模块化:如何将编写软件的任务分解为工作指派?特别是这些模块可以独立的开发,并能准确而容易的满足彼此的需要。
可构建性:如何将软件构建成一组组件,并能够独立实现和验证这些组件?哪些组件应该复用?
产品化:如果产品将以集中变体的形式存在,如何开发一个产品线,并利用这些变体的共性?产品线中的产品以怎样的步骤开发等等。
书中介绍了什么样的的架构才算是美丽的架构,美丽的架构在开始时,要关注其实用性,好的架构应该是每天被很多人使用的;使用架构之前,我们还要考虑它必须要能够被构建(可构建性);接下来就是关注架构的可持久性,好的架构应该能够经得起时间的考验,能够考虑到未来的变更,允许期望的修改;最后,要寻找一些能让人高兴的架构(开发人员、测试人员、用户等),这就要求架构必须满足概念完整性,这样的架构才易懂,易用,才会做到简单而又不过于简单。几个比较常见的美丽架构的例子有:A-7E舰载飞行处理器的架构;朗讯5ESS电话交换机软件架构;万维网;UNIX系统。
转载于:https://www.cnblogs.com/liguoshuai/p/6411237.html
《架构之美》阅读笔记四相关推荐
- JS高级程序设计——阅读笔记四
JS高级程序设计--阅读笔记四 第六章 集合引用类型 6.1 Object 6.2 Array 6.2.1 创建数组 from()函数 6.2.2 数组空位 6.2.3 数组索引 6.2.4 检测数组 ...
- C++的35个技巧阅读笔记(四)
文章目录 28.Smart Pointers(智能指针) 29.Reference counting(引用计数) 30.Proxy classes(替身类.代理类) 31.让函数根据一个以上的对象类型 ...
- 《构架之美》阅读笔记四
企业中聚焦信息的架构展示了与Web一样的明确特点:伸缩性.弹性.架构迁移策略.信息驱动的访问控制等.Web服务的目标是要成为一种业务策略,形式,是在不影响客户的情况下升级这些系统.在大家的概念中,We ...
- 架构之美阅读笔记之一
寒假生活开始了,关于软件架构这部分的学习,我选择的是<架构之美>这本书.这本出版于2009年的书,由浅入深地讲述了从架构的概述,到企业级应用架构,系统架构,最终用户应用架构,再到语言与架构 ...
- 《软件构架实践》阅读笔记三
这一章主要是通过ISSS系统的构架来分析交通管制系统的实际解决方案. 首先从物理视图的角度来分析,物理视图主要是一些硬件方面的视图,通过它我们可以清楚的看到各个硬件之间相互关联关系,使系统的物理分布显 ...
- 《软件构架实践》阅读笔记03
<实现质量属性>这一章为我们提供了每个质量属性的构架方面的指导.一个好的设计需要实现一些质量属性,实现这些质量属性依赖于基本的设计决策,战术就是影响质量属性响应控制的设计决策. 了解到的第 ...
- 软件构架实践_阅读笔记01(1-3)
之前的学期,我们学习了软件工程概论和软件需求分析,而下个学期即将学习软件体系架构.如课程安排的一样,如大众的观点一致:需求在架构之前.即传统的思想:在知道了系统的需求,就可以为此系统构建构架.而紧接着 ...
- 编程修养 阅读笔记四
转载:http://blog.csdn.net/haoel/article/details/2872 26.为常量声明宏 -------- 最好不要在程序中出现数字式的"硬编码"( ...
- c++ primer 第五版 阅读笔记四
第四章 复合类型 4.1 数组 数组的声明:关于数组的内容写了蛮多的,包括一维数组和二维数组的创建.调用.返回等等,甚至用到了static和new/delete关键字,详见:(一维数组相关内容)htt ...
最新文章
- Hessian(C#)介绍及使用说明
- 语言ppt课件猜拳_人教版初中数学七年级下册阅读与思考 一次方程组的古今表示及解法公开课优质课课件教案视频...
- Python Lambda函数的几种使用方法
- matlab图片矢量化,matlab图形矢量化解决方案
- Chrome 访问一次 Controller,请求却执行两次
- chrome 不支持12px以下字体为题的解决
- Linux先发送条件变量,浅谈Linux条件变量的使用
- Objective-C中的@property和@synthesize用法
- vc6开发一个抓包软件_开发一个软件多少钱?3种软件开发公司报价
- linux用户空间寄存器,在Linux用户空间中访问硬件寄存器
- 完成端口的回射服务器,给别人的代码添加了补丁(竞争问题,发送数据)
- 笨办法学 Python · 续 练习 8:`cut`
- vmware 虚拟机设置 redhat 桥接模式
- [转载] numpy总结
- MYOP究竟能为站长提供哪些便利
- UART RS232 RS485协议原理及应用
- lua 遍历删除_lua中table如何安全移除元素
- 搭建fastdfs服务,及单机redis服务,springboot实现h5与fastdfs之间的断点续传,大文件上传,秒传文件和批量上传
- Swift:一个简单的货币转换器App在iOS10中的分析和完善
- 转载:SyncToy安装使用详解