0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

架构模式的基础知识

STM32嵌入式开发 来源:STM32嵌入式开发 2023-06-13 16:13 次阅读

作为软件工程师,为什么至少要学习基本的架构模式? 我相信有很多人回答了这个问题,但我会给你一些考虑的理由。 首先,如果您了解架构模式的基础知识,那么您就更容易遵循架构师的要求。 其次,了解这些模式将有助于您在代码中做出决策:例如,如果您的应用程序设计基于事件驱动的微服务,那么作为软件工程师,您必须将您的代码解耦为一个单独的服务,如果您注意到日益增加的复杂性和现有服务中的逻辑责任。 Mark Richards 在书中描述了 5 种模式:

分层架构

事件驱动架构

微内核架构(或插件架构)

微服务架构

基于空间的架构(或云架构模式)

1.分层架构

它是单体应用程序最常见的架构。该模式背后的基本思想是将应用程序逻辑划分为若干层,每一层都封装了特定的角色。例如,持久层将负责您的应用程序与数据库引擎的通信

f745763a-0900-11ee-962d-dac502259ad0.png

2.事件驱动架构

这种模式背后的想法是将应用程序逻辑解耦为异步接收和处理事件的单一用途事件处理组件。这种模式是流行的分布式异步架构模式之一,以高可扩展性和适应性着称。

f76d601e-0900-11ee-962d-dac502259ad0.png

3. 微内核架构

Mikrokernel 架构,也称为插件架构,是具有两个主要组件的设计模式:核心系统和插件模块(或扩展)。一个很好的例子是Web 浏览器(核心系统),您可以在其中安装无穷无尽的扩展(或插件)。

f7774cbe-0900-11ee-962d-dac502259ad0.png

4. 微服务架构

微服务架构由单独部署的服务组成,理想情况下,每个服务都有单一的职责。这些服务相互独立,如果一项服务失败,其他服务将不会停止运行。

f79aae2a-0900-11ee-962d-dac502259ad0.png

5. 基于空间的架构

基于空间的模式背后的主要思想是分布式共享内存,以缓解在数据库级别经常发生的问题。假设通过使用内存数据处理大多数操作,我们可以避免数据库中的额外操作,因此可能会从那里演变出任何未来的问题(例如,如果您的用户活动数据实体已更改,您不需要更改一堆持久化的代码并从数据库中检索该数据)。 基本方法是将应用程序分成处理单元(可以根据需要自动扩展和缩减),其中数据将在这些单元之间复制和处理,而无需对中央数据库进行任何持久性(尽管将有本地存储用于系统故障的场合)。

f7e5f5a6-0900-11ee-962d-dac502259ad0.png
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63369
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66767
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56391

原文标题:几个软件架构模式

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA架构和应用基础知识

    ASIC慢3到4倍。本文介绍了FPGA的基础知识和FPGA架构模块,包括I / O焊盘,逻辑块和开关矩阵。FPGA是VLSI的一些新兴趋势领域。FPGA架构通用FPGA架构由三种类型的
    发表于 12-14 17:39

    ARM架构基础知识小结

    从单片机转到ARM —— ARM架构基础知识小结从单片机转到ARM,主要需要学习ARM的架构,ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么可以认
    发表于 05-12 17:06

    ARM架构基础知识小结

    从单片机转到ARM ―― ARM架构基础知识小结
    发表于 12-29 06:16

    【HarmonyOS基础知识】HarmonyOS系统架构

    这个视频带大家揭秘HarmonyOS基础知识之HarmonyOS系统架构,一起来看看?
    发表于 01-19 18:32

    ARM架构基础知识点汇总

    之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。ARM架构基础知识小结通用寄存器R13通常被用作栈指针,进入异...
    发表于 12-13 06:26

    W25Q256JVEIQ是否能够支持iMXRT1172的XIP模式和安全架构模式

    ?如果是,闪存 W25Q256JVEIQ 是否能够 支持iMXRT1172 的 XIP 模式和安全架构模式?请告诉我们。对上述查询的任何支持都会非常有帮助
    发表于 03-16 06:43

    一种基于软件+服务平台的软件架构模式

    本文在介绍软件+服务平台的概念的基础上,设计了一种基于软件+服务平台的软件架构模式,并对其核心组件进行了说明,最后通过分析该架构的使用效果,从而说明了该架构具有
    发表于 06-10 10:33 27次下载

    软件架构设计之常用架构模式

    分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务。分层分为:严格意义上的分层,一般意义的
    发表于 06-22 18:35 4342次阅读

    软件架构设计之常用架构模式介绍

    1.分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务。分层分为:严格意义上的分层,一般意义的分层。严格意义的分层是n+1
    发表于 12-01 11:59 303次阅读

    10种常见的软件体系架构模式分析以及它们的用法、优缺点

    架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。架构模式与软件设计模式类似,但具有更广泛的范围。
    的头像 发表于 01-31 12:39 2.1w次阅读
    10种常见的软件体系<b class='flag-5'>架构模式</b>分析以及它们的用法、优缺点

    详解SOA五种基本架构模式

    本文详细解说了SOA五种基本架构模式,面向服务的架构(SOA)已成为连接复杂服务系统的主要解决方案。虽然SOA的理论很容易理解,但要部署一个设计良好、真正实用的SOA系统却非常困难。本文试图通过解析SOA的模式,提供与
    的头像 发表于 02-07 14:41 2.1w次阅读
    详解SOA五种基本<b class='flag-5'>架构模式</b>

    MVC架构模式为什么悄然消失了

    MVC这门技术伴随着我的成长,感情和Java一样深厚,但是,最近两年却不得不和MVC说再见了。是的,不是Struts没了,也不是SpringMVC没了,而是MVC这种架构模式被淘汰了。
    的头像 发表于 04-12 19:18 5072次阅读

    嵌入式7种架构模式分析

      嵌入式软件因为硬件资源限制,可能存在驱动与应用耦合的情况,但对于大型项目,资源充裕的情况下,复杂的业务逻辑、后续扩展维护的需要,必须采用分层和模块化思维,这种思想就是架构模式。一般分7种架构模式
    的头像 发表于 06-13 15:31 3049次阅读
    嵌入式7种<b class='flag-5'>架构模式</b>分析

    嵌入式软件最常见的架构模式

    嵌入式软件因为硬件资源限制,可能存在驱动与应用耦合的情况,但对于大型项目,资源充裕的情况下,复杂的业务逻辑、后续扩展维护的需要,必须采用分层和模块化思维,这种思想就是架构模式。一般分7种架构模式
    的头像 发表于 06-22 10:32 1823次阅读
    嵌入式软件最常见的<b class='flag-5'>架构模式</b>

    浅谈多机房部署的灾备架构模式

    互联网常见的高可用手段。比如服务冗余部署、异步化设计、负载均衡、服务限流降级熔断、架构拆分、服务治理、分布式存储等等,今天主要是一起聊下,多机房部署的灾备架构模式,来确保服务的高可用。
    的头像 发表于 07-11 11:31 1265次阅读
    浅谈多机房部署的灾备<b class='flag-5'>架构模式</b>