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

[译]架构(一)

阅读更多

1.什么是架构?

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

2. 架构的分类

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



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

 


(3)企业架构

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

 

分享到:
评论

相关推荐

    Intel CPU微架构简介.docx

    Intel CPU的微架构是计算机硬件领域的一个重要主题,它涉及到CPU内部如何高效地处理和执行指令。本文将详细探讨Intel CPU的核心部分和未核心部分,以及它们如何协同工作以实现高性能计算。 首先,CPU的核心部分由多...

    《Java应用架构设计-模块化模式与OSGi》书中源码,美国 Kirk著,张卫滨译

    《Java应用架构设计-模块化模式与OSGi》是一本由Kirk著、张卫滨翻译的书籍,它深入探讨了在Java环境中如何构建可扩展、可维护的大型应用程序。书中的源码提供了丰富的实例,帮助读者理解并实践模块化模式和OSGi...

    架构设计资源(2)

    本资源包提供了丰富的资料,涵盖了多个架构设计的相关主题,旨在帮助读者深入理解这一领域。以下是对这些文档内容的详细解读: 1. **架构设计师与SOA**:Service-Oriented Architecture(SOA)是一种面向服务的架构...

    Qt写的一个英译汉词霸

    要构建一个英译汉词霸,首先需要设计程序的基本架构。这个应用可能包括以下几个关键部分: 1. **用户界面**:可以使用QMainWindow或QDialog来创建主界面,包含搜索框(QLineEdit)、显示翻译的区域(QTextEdit)...

    一个简单的英汉词典,点击按钮切换汉译英

    标题中的“一个简单的英汉词典,点击按钮切换汉译英”表明这是一个应用程序,功能是提供英语和汉语之间的翻译服务。用户可以通过点击按钮在两种语言之间进行切换,这通常涉及到用户界面设计和语言处理技术。 描述中...

    LTE知识点梳理一网络架构及协议修改版.docx

    LTE知识点梳理一网络架构及协议修改版 LTE(Long Term Evolution)是当前最为广泛应用的第四代移动通信技术,作为第三代合作伙伴计划(3GPP)的标准,它具有灵活的频谱带宽配置、高速数据传输率、低延迟等特点。...

    译How Tomcat Works(第一章)

    《译How Tomcat Works(第一章)》这篇文章是关于Apache Tomcat服务器的工作原理的翻译,它主要探讨了Tomcat如何处理HTTP请求以及内部架构的关键组成部分。Tomcat是一款开源的Java Servlet容器,广泛用于部署Java Web...

    毕业设计英译汉

    总的来说,“毕业设计英译汉”是一份宝贵的教育资源,无论是对正在准备毕业设计的学生,还是对希望提升计算机英语水平的从业者,都能提供极大的帮助。通过深入学习和实践,我们可以更好地理解和运用计算机领域的专业...

    网页快译系统

    网页快译系统是一种基于JavaScript开发的应用,其设计灵感来源于金山词霸,主要目的是为了方便用户在浏览网页时快速翻译和理解外语内容。JavaScript作为一种广泛应用于客户端的编程语言,具有跨平台、动态性强的特点...

    “微服务”博客中译完整版.md

    微服务架构是一种新兴的软件设计模式,它强调通过一系列可独立部署的服务来构建应用系统。这些服务围绕着具体的业务功能进行组织,并且能够独立地进行开发、部署和扩展。这种架构方式允许团队更加灵活地管理和更新...

    朗译开发板

    这款开发板基于51系列单片机,提供了一个完整的硬件平台,用于实践和理解微控制器的基本功能和应用。 51系列单片机是由Intel公司开发的8位微处理器,因其简洁的结构和广泛的可用性,被广泛应用于教学和小型控制系统...

    利用 GPT-4 进行自动翻译译后编辑.pdf

    2. **GPT-4在自动译后编辑中的应用**:GPT-4是基于Transformer架构的一种大型预训练语言模型,由于其强大的语言理解和生成能力,在自然语言处理任务中表现出色。本研究中,研究者探索了GPT-4用于自动翻译译后编辑的...

    (word完整版)ORACLE-EBS-基础设置之组织架构.doc

    Oracle EBS(Enterprise Business Suite)是一款全面的企业资源规划软件,其组织架构的设置是系统配置的关键部分,尤其对于大规模和复杂业务的企业来说至关重要。在理解Oracle EBS的组织架构前,我们首先要认识到...

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

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

    专题资料(2021-2022年)EBS系统组织架构讲解.docx

    Oracle EBS(Enterprise Business Suite)系统是Oracle公司提供的一款全面的企业资源规划软件,其组织架构设计是系统的核心组成部分,旨在支持复杂的企业业务流程。本文将详细解析EBS中的组织架构,包括各个组成部分...

    EasyDarwin aarch64 8.1.0自编译版软件

    本文将深入探讨EasyDarwin在aarch64架构下的自编译过程,以及在全志T7平台上的应用。 首先,"EasyDarwin aarch64 8.1.0自编译版软件"意味着这个版本是为64位ARM处理器(即aarch64架构)定制的,这是针对嵌入式设备...

Global site tag (gtag.js) - Google Analytics