首页 > 其他分享 >架构是什么

架构是什么

时间:2024-03-01 21:45:28浏览次数:18  
标签:架构 什么 系统 软件架构 模块 组件 客户端

架构,在汉语词典里的意思是:

人们对一个结构内的元素及元素间关系的一种主观映射的产物。

由此可见,万物皆可谈架构。不管是软件、飞机还是建筑,只要人们主观地对其进行分解和组装,就已经运用了架构的概念。

实际上,架构起源于建筑领域。充满智慧的古代劳动人民将复杂的建筑按其特点分解为一个个具有共性的结构构件和建筑构件。仔细想想,楼面、墙体、柱子、地基,和软件工程中的MVC是不是如出一辙?

在计算机科学和软件工程中,"架构"(Architecture)通常指的是软件系统或应用程序的整体设计和组织结构。软件架构定义了系统中各个组件之间的关系、功能模块的划分、数据流向以及系统的整体行为。
软件架构的重要性
软件架构在软件开发过程中起着关键作用,它直接影响到以下方面:

1.系统的可维护性:一个好的架构可以使系统易于理解、修改和维护,降低了维护成本。
2.系统的性能:合理的架构可以提高系统的性能,包括响应速度、资源利用率等。
3.系统的安全性:架构设计也关系到系统的安全性,能够帮助防范潜在的安全漏洞。
4.系统的可扩展性:一个良好的架构可以使系统更容易扩展,添加新功能或者适应新的需求。
5.团队协作:定义清晰的架构可以帮助团队成员更好地协作,减少沟通成本和冲突。

软件架构的元素
软件架构通常包括以下几个重要的元素:

6.组件(Components):


7.系统中的模块或部件,用于完成特定的功能。这些组件可以是代码库、服务、模块等。


8.接口(Interfaces):


9.定义组件之间如何进行通信和交互的规范。良好的接口设计可以降低组件之间的耦合度。


10.数据结构(Data Structures):


11.系统中用于存储和管理数据的结构,例如数据库表、缓存、消息队列等。


12.模式(Patterns):


13.在软件设计中经常使用的一些通用设计模式,如 MVC、MVVM、Singleton、Factory 等,用于解决特定的设计问题。


14.架构风格(Architectural Styles):


15.一种通用的架构模式,定义了系统中组件的交互方式和整体结构。例如,客户端-服务器、微服务架构、事件驱动架构等。


16.非功能性需求(Non-Functional Requirements):


17.不直接与特定功能相关的系统需求,如性能、可靠性、安全性、可扩展性等。这些需求在架构设计中至关重要。


18.部署和运行环境(Deployment and Runtime Environment):


19.系统运行的环境和条件,包括硬件平台、操作系统、网络配置等。架构设计需要考虑到这些环境的限制和要求。

常见的软件架构模式

20.客户端-服务器架构:


21.将系统划分为客户端和服务器两部分,客户端发送请求,服务器处理请求并返回结果。


22.三层架构:


23.包括表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data Access Layer)三个层次,用于分离用户界面、业务逻辑和数据存储。


24.微服务架构:


25.将一个大型应用拆分为多个小型、独立部署的服务,每个服务都专注于一个特定的业务功能。


26.事件驱动架构:


27.通过事件的产生和处理来驱动系统的行为,组件之间通过事件进行通信和协作。


28.模块化架构:


29.将系统划分为多个独立的模块,每个模块负责特定的功能,模块之间通过接口进行通信。


30.单体架构:


31.将整个应用程序作为一个单一的、独立部署的单元,所有的功能和服务都在同一个应用中。

以上只是一些常见的软件架构模式,实际上还有很多其他的架构模式,开发人员根据具体的需求和场景选择最适合的架构。
总而言之,软件架构是软件系统的基础设计,决定了系统的结构、行为和性能特征,对于软件开发的成功与否至关重要

标签:架构,什么,系统,软件架构,模块,组件,客户端
From: https://www.cnblogs.com/baijingyun/p/18048014

相关文章

  • 架构漫谈
     最近,我读了架构漫谈的九篇博文,让我深有所感。深刻的理解了什么是架构,以及架构在我们的日常生活以及程序员的编程过程中所发挥的重要作用,同时也深刻的深刻的认识到一名合格的软件架构师在面对具体项目时所发挥的巨大的不可替代的作用。下面就让我们来谈一谈什么是架构。 架构......
  • 架构漫谈读后感
    在当代软件开发领域,软件架构的重要性愈发凸显。《架构漫谈》一书的问世,为我们带来了对软件架构的全新认知和深刻思考。这本书不仅是一部关于技术细节的指南,更是一部关于如何成为优秀架构师的精神启示录,深刻影响着我们对软件架构的理解与认知。首先,《架构漫谈》重新定义了我们对架......
  • 《架构漫谈》读后感
    在王老师的推荐下阅读了王概凯的架构漫谈,其中有以下几篇:1.什么是架构2.认识概念是理解架构的基础3.如何做好架构之识别问题4.如何做好架构之架构区分5.什么是软件7.不要空设架构师这个职位,给他实权8.从架构的角度看如何写好代码9.理清技术、业务和架构的关系。下面是对其中的......
  • 架构漫谈读后感
    在当今这个信息化迅速发展的时代,系统架构已经成为了软件工程乃至整个信息技术领域的一个重要分支。当我手捧《架构漫谈》这本书时,心中不免充满了期待。这不仅仅是一本书,更是一段探索软件深层次结构与设计哲学的旅程。随着每一章节的翻阅,我仿佛跟随着作者的思路,穿梭在复杂系统的丛......
  • 《架构漫谈》读后感
    《架构漫谈》读后感在阅读了《架构漫谈》这本书后,我对其中的观点有了深入的理解。该书通过类比人类社会的分工和合作,将架构的概念引入其中,为读者展示了一个全新的视角。首先,书中提到架构来源于社会的分工。这让我想到了在现实生活中,一个复杂的任务或项目往往需要多人合作完成。......
  • 架构漫谈-读后感
    在当今数字化时代,软件架构的重要性愈发凸显。阅读《架构漫谈》系列内容,深刻探讨了软件架构背后的原理和核心概念,为我们揭示了如何将一个复杂的整体系统切分成各个部分,并通过有效的沟通机制将它们有机结合,从而实现整体目标的过程。软件架构的定义并不仅仅是技术层面的划分,更是一种......
  • 架构漫谈读后感
    架构漫谈是一本引人深思的书籍,作者通过生动的故事和精彩的案例,深入浅出地阐述了架构设计的重要性以及如何进行有效的架构设计。以下是我对这本书的读后感:首先,作者以幽默风趣的方式描述了架构设计的基本概念和原则,使得枯燥的技术内容变得生动有趣。通过故事中的角色和情节,读者可以......
  • 架构漫谈
    架构漫谈是由一个架构师王概凯写的一个专题,是以他的实际架构经验为基础,讨论是什么是架构,怎样做好架构,怎么写好程序等一些问题。共分为九个部分:1) 什么是架构?首先把架构的概念讨论明白,然后在对架构进行分析才显得清晰有意义。架构这个词在软件工程很早之前就已经出现了,在人类的......
  • 漫谈架构
    很想写相关的内容,一直以来这方面的东西很杂,自己各方面都多多少少有些总结,但是没有系统的成文,始终觉得是个遗憾。这是这个系列的第一篇。本文说的架构,还并不是说的Tier层的架构,这里面不会涉及到分布式、缓存、网络结构等等的布局,而是集中在软件的内部,是代码层级的,考虑这点架构的点,......
  • 双向数据绑定是什么
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、什么是双向绑定我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Model的数据也自动......