`
zhangxiang390
  • 浏览: 214772 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

[译]架构(一)

阅读更多

1.什么是架构?

首先了解一下什么是“设计”。设计是用于解决系统中的某些特定问题(费用,范围,资源,需求),即设计是有一定目的性的,设计是从一组可供选择的解中选择一个较优的解。
所有的架构都是设计,但并不是所有的设计都是架构。
架构代表了塑造一个系统的重大设计,其重要性以转化代价(更换架构需要花费的代价)来度量。
 

2. 架构的分类

(1)应用架构
应用架构是程序员最熟悉的。它将焦点放在如何以正确,高效的方式开发应用。涉及如何将应用分解为组件和类,使用何种设计模式,使用哪些软件框架等等。从本质上来看,应用架构关注软件设计方面的问题,通常和特定的技术栈(java,.net等)相关。



(2)系统架构
系统架构可以看作是应用架构的更高一层。例如,许多软件系统实际上都是由多个分层的软件技术及应用组成。你可能使用.NET Silverlight开发web客户端,访问JavaEE构建的web服务,而该服务依赖Oracle数据库。这些技术都有各自的应用架构,由不同领域的专业人员来设计它们的应用架构。然而,还需要有人设计一个大的架构,使得当所有的应用被合到一起时,整个系统能正常运作。系统架构就是将整个系统分解为大的组件(应用),使得它们具有合适的内聚和耦合性。换句话说,系统架构是保证系统以正确的方式建造。组成系统的组件(应用)之间能相互结合且具备良好的互操作性。
还需要指明的是,系统架构冲出了纯软件领域,同时考虑了硬件和其他基础设施。毕竟,这些应用需要被部署在真实的环境下运行。

 


(3)企业架构

通常指企业中CTO和CIO相关的工作。关注如何组织和管理公司员工、过程、技术,使企业能高效地运作。它的意义和应用架构以及系统架构有很大不同,它不关注技术细节,它是更高层次的一种抽象。

 

分享到:
评论

相关推荐

    架构之美_中文精选版

    《架构之美(Beautiful Architecture)》的中文精选版。 作者: 斯宾耐立思(Diomidis Spinellis),郭西奥斯(Georgios Gousios); 王海鹏,蔡黄辉,徐锋等译。 pdf格式,值得一看。

    大规模C++程序设计第一版(李师贤等译)

    用C++开发一个大型的软件系统,需要精通逻辑设计问题,在大多数有关C++程序设计的书中都包含了这些问题。若要进行有效的设计,还需要掌握物理设计概念,这些概念虽然与开发方面紧密联系,但是其中有些方面即便是软件...

    白皮书英译文本中动宾搭配调查与汉英翻译策略——一项基于汉英对比语料库的研究.pdf

    白皮书英译文本中动宾搭配调查与汉英翻译策略——一项基于汉英对比语料库的研究.pdf

    SystemC 设计 MIPS CPU 文档

    MIPS 设计架构所带了的Hazard。并且配套设计了一个四路组关联的Cache。在 MIPS 的流水设计上,笔者采用了控制信号分阶段译出、指令各个阶段保存的创新性设计思想,虽然此设计并不具有相对于李亚明教科书上设计的优势...

    ARM入门调试笔记 ARM-Advanced RISC Machines

     采用RISC架构的ARM微处理器一般具有如下特点:  1、体积小、低功耗、低成本、高性能;  2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;  3、大量使用寄存器,指令执行速度更快;  4、...

    安卓毕业设计a源码网站-Software-Architecture-Patterns:软件架构模式

    ,写的不错,虽然英语很屎,试着翻(gu)译(ge)一下。以下为翻译的内容,祝我能够翻译完,并借此机会能够加深对架构的认识。 ps:建议看英文原著. ps:[ ]中的话是我说的. ps:好吧,我找到已经有一个翻译版本了() 早看到就不...

    MASM 6.15汇编语言编程调试工具

    MASM 6.15 汇编语言编程调试工具,非常好用 ...它支援的宏很灵巧,既广泛又多样性,结构化程式的惯用语法,包含高阶架构式的循环、程序呼叫,以及轮替 (alternation)(因此,MASM 算是高阶组译器的一个范本).

    《C#企业应用开发艺术--CSLA.NET框架开发实战》源码

    CSLA.NET 框架成为了微软.NET 平台上最广泛应用的开发框架之一,本书介绍了CSLA.NET 3.6 架构背后的构思过程,描述了怎样搭建支持这个架构的框架,如何创建应用程序的业务对象,并且展示了如何使用这个框架创建基于...

    阿里巴巴&中国信通院:人工智能治理与可持续发展实践白皮书.pdf

    ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是...

    intel酷睿双核解析

    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...

    Yii2框架制作RESTful风格的API快速入门教程

    他在论文中提到:”我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个...

    阿里巴巴分布式数据库同步系统 otter.zip

    项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个...

    Spring Security3 张卫滨(译)

    第一章 一个不安全应用的剖析 ........................................................................................... 8 安全审计........................................................................

    alibaba-otter

    阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。...

    软件测试培训资料.pptx.pptx

    第一部分 软件测试综述 官方定义 体系架构 软件测试的背景 软件开发过程 软件测试的实质 软件测试培训资料全文共50页,当前为第4页。 第一部分 软件测试综述 官方定义 使用人工或自动手段来运行或测定某个系统的...

    java8源码-highconcurrency:《实战Java高并发程序设计》葛一鸣、郭超着电子工业出版社2015年11月第一版书上部分代码

    全书共8章,这里章译为chapter。文件命名规则和书上一样。我并不会把这本书上所有的代码都写下来,因为其中的一部分内容和《Java多线程编程核心技术》一书中一模一样。 这里也给大家做一个导读,我读完一章后会对每...

    基于Java的英汉互译系统设计-毕业设计(论文)

    java 是以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java ...实现英译汉、汉译英的功能,本系统实现对生词、错词进行添加、删除 和修改。

Global site tag (gtag.js) - Google Analytics