1.什么是架构?
首先了解一下什么是“设计”。设计是用于解决系统中的某些特定问题(费用,范围,资源,需求),即设计是有一定目的性的,设计是从一组可供选择的解中选择一个较优的解。
所有的架构都是设计,但并不是所有的设计都是架构。
架构代表了塑造一个系统的重大设计,其重要性以转化代价(更换架构需要花费的代价)来度量。
2. 架构的分类
(1)应用架构
应用架构是程序员最熟悉的。它将焦点放在如何以正确,高效的方式开发应用。涉及如何将应用分解为组件和类,使用何种设计模式,使用哪些软件框架等等。从本质上来看,应用架构关注软件设计方面的问题,通常和特定的技术栈(java,.net等)相关。
(2)系统架构
系统架构可以看作是应用架构的更高一层。例如,许多软件系统实际上都是由多个分层的软件技术及应用组成。你可能使用.NET Silverlight开发web客户端,访问JavaEE构建的web服务,而该服务依赖Oracle数据库。这些技术都有各自的应用架构,由不同领域的专业人员来设计它们的应用架构。然而,还需要有人设计一个大的架构,使得当所有的应用被合到一起时,整个系统能正常运作。系统架构就是将整个系统分解为大的组件(应用),使得它们具有合适的内聚和耦合性。换句话说,系统架构是保证系统以正确的方式建造。组成系统的组件(应用)之间能相互结合且具备良好的互操作性。
还需要指明的是,系统架构冲出了纯软件领域,同时考虑了硬件和其他基础设施。毕竟,这些应用需要被部署在真实的环境下运行。
(3)企业架构
通常指企业中CTO和CIO相关的工作。关注如何组织和管理公司员工、过程、技术,使企业能高效地运作。它的意义和应用架构以及系统架构有很大不同,它不关注技术细节,它是更高层次的一种抽象。
分享到:
相关推荐
《架构之美(Beautiful Architecture)》的中文精选版。 作者: 斯宾耐立思(Diomidis Spinellis),郭西奥斯(Georgios Gousios); 王海鹏,蔡黄辉,徐锋等译。 pdf格式,值得一看。
用C++开发一个大型的软件系统,需要精通逻辑设计问题,在大多数有关C++程序设计的书中都包含了这些问题。若要进行有效的设计,还需要掌握物理设计概念,这些概念虽然与开发方面紧密联系,但是其中有些方面即便是软件...
白皮书英译文本中动宾搭配调查与汉英翻译策略——一项基于汉英对比语料库的研究.pdf
MIPS 设计架构所带了的Hazard。并且配套设计了一个四路组关联的Cache。在 MIPS 的流水设计上,笔者采用了控制信号分阶段译出、指令各个阶段保存的创新性设计思想,虽然此设计并不具有相对于李亚明教科书上设计的优势...
采用RISC架构的ARM微处理器一般具有如下特点: 1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令执行速度更快; 4、...
,写的不错,虽然英语很屎,试着翻(gu)译(ge)一下。以下为翻译的内容,祝我能够翻译完,并借此机会能够加深对架构的认识。 ps:建议看英文原著. ps:[ ]中的话是我说的. ps:好吧,我找到已经有一个翻译版本了() 早看到就不...
MASM 6.15 汇编语言编程调试工具,非常好用 ...它支援的宏很灵巧,既广泛又多样性,结构化程式的惯用语法,包含高阶架构式的循环、程序呼叫,以及轮替 (alternation)(因此,MASM 算是高阶组译器的一个范本).
CSLA.NET 框架成为了微软.NET 平台上最广泛应用的开发框架之一,本书介绍了CSLA.NET 3.6 架构背后的构思过程,描述了怎样搭建支持这个架构的框架,如何创建应用程序的业务对象,并且展示了如何使用这个框架创建基于...
ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是...
Intel酷睿2双核名字的由来 酷睿是英文单词core的音译,... “酷睿”是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比。早期的酷睿是基于笔记本处理器的。
[译]短小强悍的JavaScript异步调用库 BigPipe学习研究 Using Bootstrap 3 With Sass How to make a Flappy Bird in HTML5 with Phaser 编程语言 使用python/casperjs编写终极爬虫-客户端App的抓取 2013年度Python...
他在论文中提到:”我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个...
项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个...
第一章 一个不安全应用的剖析 ........................................................................................... 8 安全审计........................................................................
阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。...
第一部分 软件测试综述 官方定义 体系架构 软件测试的背景 软件开发过程 软件测试的实质 软件测试培训资料全文共50页,当前为第4页。 第一部分 软件测试综述 官方定义 使用人工或自动手段来运行或测定某个系统的...
全书共8章,这里章译为chapter。文件命名规则和书上一样。我并不会把这本书上所有的代码都写下来,因为其中的一部分内容和《Java多线程编程核心技术》一书中一模一样。 这里也给大家做一个导读,我读完一章后会对每...
java 是以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java ...实现英译汉、汉译英的功能,本系统实现对生词、错词进行添加、删除 和修改。