模块化设计

     
  • 单体系统如何实现动态演进扩展

    91 1 4K

    单体架构是一种软件设计方法,其中应用程序的所有组件都集成为一个不可分割的单元。在这种架构中,整个应用程序(包括用户界面、业务逻辑和数据访问层)作为单一实体进行开发、部署和维护。什么是单体? 单一存储库.

  • Python中命名空间包简介

    46 3K

    Python 命名空间包是一种将多个独立包组合成单个可导入命名空间的方法。它们允许您拥有两个或多个可以在同一父命名空间下导入的单独包。Python 命名空间包是一种高级 Python 特性。您可能听说.

  • 模块化单体架构综合指南

    216 13K

    在不断发展的软件架构领域,对完美设计范式的追求仍在继续。在单体架构和微服务架构之间持续不断的争论中,出现了一种和谐的融合,提供了两全其美的方案——引入了模块化单体架构的概念。想象一下一种设计方法,它将.

  • SpringBoot中使用Docker、Zipkin构建模块化

    65 11K

    这篇博文深入探讨了如何构建Spring Boot应用程序、利用Docker一致的本地环境、Zipkin进行跟踪以及实现 100% 代码覆盖率的策略。我们将探讨设置基于功能的模块化bookstore应用.

  • 我是一名程序员而且我很蠢

    249 2

    来自Anton Zhiyanov文章:我写代码赚钱已经有 15 年了:我尝试过其他角色--产品管理、分析、测试--但都没有坚持下来。这些年来,我发现自己很笨。我没有被诊断出患有任何特殊疾病,但我的智力.

  • 幽默:两种项目包的选择难题

    172 2
    左边:以领域模型为划分右边:以分层架构为划分依据.
  • 使用 Spring Modulith 进行事件外部化

    402 9K

    在本文中,我们将讨论在@Transactional块中发布消息的需求以及相关的性能挑战,例如延长的数据库连接时间。为了解决这个问题,我们将利用Spring Modulith的功能来监听 Spring .

  • 单体应用、微服务和无服务器

    112

    本文说明在决定单体、微服务和无服务器架构时权衡的简化思维模型。目标是突出每种风格的固有优势和差距,同时为何时选择哪种建筑风格提供指导。单体小型团队或项目的理想入门架构。它启动起来很简单,并且通常可以提.

  • 代码内聚性

    424 27K

    在软件开发的动态环境中,代码内聚性的概念是创建高效且可维护的应用程序的基石。尤其是在Java这种以其健壮性和可扩展性而闻名的语言中,理解和应用内聚性原则可以显着提高软件项目的质量。本文深入探讨了 Ja.

  • Spring Boot五个多模块技巧

    111 3K

    在本次探索中,我们提出了五个实用技巧,为在 Spring Boot 框架内有效构建模块提供指导。技巧一:逻辑模块划分逻辑模块划分涉及根据应用程序的功能组件或特性来组织模块。这种方法通过将相关功能分组在.

  • Spring Boot中使用JaCoCo设置Maven多模块代码覆盖率

    285 12K

    代码覆盖率是软件开发的一个重要方面,帮助我们确保我们的代码经过彻底的测试。JaCoCo(Java 代码覆盖率)是一种流行的工具,用于测量 Java 应用程序中的代码覆盖率。本文将探讨如何在 Sprin.

  • 使用 Spring Modulith 改进模块化整体应用

    471 1 12K

    在第一篇文章:使用Spring Boot和领域驱动设计实现模块化整体中,我们了解了如何使用 Spring Boot 和 DDD 构建和实现模块化整体应用程序。本博客中,我们将尝试解决这些限制以创建更易.

  • JavaScript中(function() { } )() 是什么?

    137 1 3K

    JavaScript 的(function() { } )()结构初看起来可能令人困惑,但对于编写即时执行且自成一体的代码块来说,它却是一个非常有用的工具。虽然 (function() { } )().

  • Java中的单体应用

    151 3K

    在不断发展的软件开发世界中,出现了各种架构范式和设计模式,以满足现代应用程序的多样化需求。其中一种架构风格是整体架构,它一直是构建软件系统的一种长期且可靠的方法。在本节中,我们将探讨什么是单体应用程序.

  • 使用 Apache Kafka 和 Spring Modulith 实现发件箱模式

    223 11K

    在这篇博客中,我们将探讨事件驱动系统中常见的“双写”问题,以及如何使用 Spring Modulith 来简单地实现 Outbox 模式来解决该问题。在构建任何涉及多个组件的非复杂系统时,迟早会遇到需.

  • DDD界限上下文与模块化实现的矛盾

    150

    在构建Web应用时,使用Java的原生模块或Maven模块都无法实现有界上下文(Bounded Context)。Maven模块和Java自己模块都无法构建隐含有界上下文的模块。Maven模块在构建W.

  • 如何按照功能设计模块包?

    119 3K

    下图是一个高耦合、低相干性的两个包调用设计:┌──────────────────────────────────┐     ┌──────────────────────────────┐│  pl.

  • 微前端是模块化后的最终选择

    335 1 4K

    微前端应作为彻底解耦代码和依赖关系后的最后手段。分布式单体很难管理,并有可能在多个代码库中重新引入相同的问题。在拆分之前,需要进行彻底的重构,以尽量减少孤立部分之间的相互依赖。虽然拆分代码可以带来好处.

  • Spring Boot Modulith模块化指南

    804 22K
    本文将教您如何使用 Spring Boot 构建 modulith 并使用 Spring Modulith 项目功能。Modulith 是一种软件架构模式,假设将您的整体应用程序组织成逻辑模块。此类模.
  • Spring Modulith增加事件外部化的支持

    398 2K

    SpringBoot应用程序的事务绑定#发件箱模式 实现,专门基于Kafka、AMQP和JMS的代理。应用程序模块之间交换的一些事件可能对外部系统感兴趣。Spring Modulith 允许将选定的事.

  • 微服务:逻辑边界不是物理边界

    437 2K

    微服务的好处之一就是定义边界。俗话说,好篱笆造就好邻居(中国谚语:亲兄弟明算账)。定义边界是一件好事,但我们到底如何定义它们呢?微服务,由 Adrian Cockcroft 定义:具有有边界的上下文的.

  • Spring Modulith 1.0 GA发布

    522

    我很荣幸地代表 Spring 社区和所有做出贡献的人宣布 Spring Modulith 1.0 GA 正式发布。5 年多前,Modulith 还是一个研发辅助项目,2022 年成为 Spring 的.

  • Moditect:Java 模块系统的工具

    540 3K

    Moditect是一个如此令人惊叹的项目!ModiTect 项目旨在提供使用 Java 模块系统(“Jigsaw”)的生产力工具。目前支持以下任务: 为给定的工件(Maven 依赖项或本地 JAR 文.

  • 如何使用Spring Modulith组织项目包结构?

    908 1 2K

    我希望使用 Spring Modulith 并根据业务领域的模块对代码进行分组。我当前的项目结构如下所示: advice config controller domain dto exception .

  • 洋葱片架构 - odrotbohm

    835 5K
    15年的洋葱架构是时候整容了。自 Jeffrey Palermo 发布他的洋葱架构系列第一篇博客以来,已经过去了几乎整整 15 年。在那篇文章中,他总结了本质上构成Alistair Cockburn六.
  • Spring Modulith:模块内领域事件发给外部Kafka的示例

    465 2K

    使用spring modulith轻松地将选定的域事件外部化到消息代理:添加例如,Kafka集成模块选择要外部化的域类型(例如,通过使用(At)外部化)点击标题见案例,展示如何自动将域事件外部化到 K.

  • 前端能整合后端的界限上下文BC吗?

    402

    在理解域、子域、限界上下文、模块等之间的差异时遇到过困难?问题在问题空间中,也就是我们需要解决的问题中:Domain领域(例如,酒店)子域(例如,“预订”、“住宿”)。领域包含知识以及我们想要解决的一.

  • 团队拓扑:模块化与划分团队相结合

    676 9K

    Martin Fowler的同事Matthew Foster描述了团队拓扑和领域驱动设计如何帮助组织扩展技术架构和团队结构,从而显着提高开发速度。模块化架构能改善软件交付吗?是的!但要注意一些问题。这.

  • 攀登“模块化”之山

    470 7K

    作为软件开发人员的培训师和教练,我看到模块化软件设计(例如,面向对象或微服务)对人们来说是一种难以理解的技能。在许多不同的模块化层面(方法和功能、类和模块、包和组件、流程、服务、服务器、系统和系统的系.

  • DHH:如何从微服务中恢复?

    1062 3 3K

    我不否认在某些情况下微服务优先的架构很有意义,但我认为这种情况很少见。绝大多数系统都可以通过启动并保持在一个宏伟的单体中得到更好的服务。昨天引爆互联网的Prime Video 案例研究只是最新的例证。.