架构(Architecture)随想

架构(Architecture)的意义

先不要看什么是架构,先看下architect是什么,没有错,它是建筑师,在一块空地上build高楼大厦的人,它是一个designer,设计好整个大楼,也是一个superviser,监督好整个项目不偏离设计。切换到computing的小宇宙,它就是架构设计者,设计出整个软件的主体结构,同时确保整个软件项目按照设计完成。略有不同的是,一个大楼更倾向于静态的设计,可以用结构力学和数学公式解决;而computing的世界是动态的世界,是一个充满了communication和interaction的世界,我们的软件是在用静态的代码应付动态的变化,不能用结构力学来解决,相对于建筑行业来说,软件的架构非常不成熟,还需要不断地探索,因为软件本身就在不断地飞快地演进。

建筑的形态是钢筋、水泥、砖头组合而成的一种稳定的有序的物理存在的结构,这个结构决定了建筑的寿命,决定了它能抵抗多大的风雨,几级的地震,往小了说,决定了装修方便不方便,局部修改方便不方便等。我们会对经历了几百年风雨的建筑赞叹,也会对楼塌塌鄙视和声讨。软件系统的静态形态是各种代码和资源组合而成的稳定的结构,不过它更加重要的是它的动态形态,唯有其动态形态是有价值的,它的动态形态是nothing impossible,因为它soft,如水,可以无孔不入。软件的动态形态依赖于静态形态,也就是各种代码和资源组合而成的结构,这个结构决定了这个软件的功能实现的方便,性能,以及修改的便利性等。这个为了动态形态而设计的静态形态的主要逻辑结构可以理解为架构,它需要精心设计。架构决定了这个软件的功能是否容易实现,性能,以及修改是否便利等。

架构的意义在于我们可以忽略一些细枝末节,而将注意力集中在整个软件系统的主要逻辑组成和结构上。

时间: 2024-12-22 21:28:59

架构(Architecture)随想的相关文章

【架构】Linux的架构(architecture)

最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等.硬件是物质基础,而应用提供服务.但在两者之间,还要经过一番周折. 还记得Linux启动.Linux首先启动内核 (kernel),内核是一段计算机程序,这个程序直接管理管理硬件,包括CPU.内存空间.硬盘接口.网络接口等等.所有的计算机操作都要通过内核传递给硬件. 为了方便调用内核,Linux将内核的功能接口制作成系统调用(system call).系统调用看起来就像C语言的函数.

gsensor架构和原理分析【转】

本文转载自:http://blog.csdn.net/u012296694/article/details/48055491 本文主要描述了在android2.3平台G-sensor相关软硬件的体系架构和实现原理,按照Applications.Framework.HAL.Driver和Hardware五大层次分别介绍. 1.系统架构 (Architecture) 1.1 Android体系架构图 1.2 Sensor子系统架构图 · Application Framework Sensor应用程

cpu有哪些架构

原文:http://blog.csdn.net/wyzxg/article/details/5027738 author:skatetime:2009/12/17 这几天在下载RPM包的时候,总会看见x86,x86-64,IA64,i386,i586等,这些都是cpu的架构,有点记不清了,所以特此记录下,以备日后查询 CPU架构 Architecture ,结构.架构,这个词用于 CPU 的时候是指 CPU “接受和处理信号的方式”,及其内部元件的组织方式.CPU架构,从大的层面分两类——CIS

Linux架构

Linux架构 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我以下图为基础,说明Linux的架构(architecture).(该图参考<Advanced Programming in Unix Environment>) 最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等.硬件是物质基础,而应用提供服务.但在两者之间,还要经过一番周折. 还记得Linux启

linux架构分析

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们以下图为基础,说明Linux的架构(architecture).(该图参考< Advanced Programming in Unix Environment>) 最内层是我们的硬件,最外层是我们常用的各种应用,比如说使用firefox浏览器,打开evolution查看邮件,运行一个计算流体模型等等.硬件是我们的物质基础,而应用是我们所要奋斗的目标,但在两者之间,还要经过一

Linux 架构

(转)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! http://www.cnblogs.com/vamei/archive/2012/09/19/2692452.html 我以下图为基础,说明Linux的架构(architecture).(该图参考<Advanced Programming in Unix Environment>) 最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看

初学架构设计的第一步:需求、愿景与架构

了解<需求>.<愿景>与<架构>三者的关系.也就是<需求分析>.<观想愿景>与<架构设计>三者的关系. 一.需求(Requirements)分析: 这通常是由目前面临的问题(Problem)所引发出来的.着重于现实问题和条件的分析,然后寻求解决问题的方法.技术和资源.就系统开发人员来说,需求主要有两种:用户需求和系统需求.一般而言,人们通常会把它看成是系统开发时必须满足的<限制>(Constraint),也是要达成的<

企业架构分析&设计模式 课程

高焕堂的招牌课程 企业架构分析.设计模式和App Framework/SDK开发方法 by 高焕堂 亚太地区Android技术大会 主席 洞庭国际智能硬件检测基地 & 中云企业大数据中心(IDC) 首席架构师 微博:@高焕堂_台北                                课程简介: 本课程依据企业软件开发流程里的先后环节来作教学.主要目标在于介绍和阐述各环节的思想.模式.技术和实践要点.让学员能熟悉当今云计算&大数据潮流下,终端与云端的(业务)架构分析.API设计.框

OpenStack IceHouse 部署 - 1 - 架构说明

参考架构 Architecture from OpenStack Install Guide Reference Architecture Network Isolation 在本次部署中,我们采用了OpenStack中新的网络管理组件(neutron),具体参见安装指导.右图为该网络部署结构的示意,分为三类节点: 控制节点 负责整个OpenStack机群的管控,由于它不承担kvm虚拟机的实际运行,负载交轻,一般将管理性(仅仅负责调度,监控)的服务部署在其上如 neutron 网络管理服务 no