模块化设计

     

只有 1% 的人需要微服务 - qe-unit

1030 2

年收入 20 亿美元的规模才有充分理由采用微服务架构,其他规模则可采用:单体式架构演化为基于服务的模块化单体式架构,然后演化为宏服务、迷你服务、微服务。什么是微服务架构?微服务架构就像沙漠中的一粒沙子.

实践中的模块化单体 | Foojay.io

2096 1 3K
随着微服务在应用程序现代化中的使用,我们已经看到了保持这种软件开发风格的优点和缺点。当我们主要在企业组织中创建应用程序时,我们现在首先想到的是如何解耦我们的应用程序。但有时创建太多微服务并不是最好的方.

鲍勃大叔:函数式编程真的不需要面向对象吗?

1370 3 2K

什么是类?根据字典,一个类是:一组、集合、群体或配置,其中的成员被认为具有某些共同的属性或特征;一个种类或类别。现在在阅读下一段时考虑一下这个定义:在OO语言中,我们将我们的程序组织成具有类似特征的对.

您需要模块,而不是微服务

2050 3 12K

架构有时很难——人们不断提出一些新想法,这些想法很快成为主流的“做事方式”,微服务是最新的趋势,现在是我们剖析这个想法并找到正在发生的事情的真正根源的时候了。在微服务的核心,我们被告知我们会发现……..

Spring Modulith能成熟实现模块化了吗? - Foojay

1372 7K
设计微服务的主要原因之一是它们强制执行强大的模块边界。然而,微服务的缺点是如此之大,就像砍掉你的右手来学习用左手写字一样;有更多易于管理(并且痛苦更少!)的方法来实现相同的结果。即使自微服务热潮开始以.

rust_boilerplate:用于开发Rust项目的MVC模板

1214 1

如何使用Rust通过Actix构建一个适度的结构化应用?设计精神:更看中MVC的设计。这就是我建立这个模板的原因,以便你快速建立你的概念/逻辑。src/cfg/将配置设置放在这里常见问题1.为什么不使.

如何将模块化应用于 SQL

1511 7K
在本文中,我们将了解模块化这一最重要的系统设计原则之一如何应用于 SQL。定义: 模块是一个单元,其元素与自身紧密相连,但与其他单元弱相连。当系统在设计时考虑到模块化,独立方很容易并行构建这些组件,以.

编写易于删除的代码 - ploeh

1277 1 14K
如何编写易于更改的代码?朝更方便地删除代码方向努力。“您可以删除部分而不重写其他部分的系统通常称为松散耦合” - 特福你会认为删除代码是世界上最简单的事情,但事实并非如此。想象一个代码库,其中的依赖图.

介绍Spring Modulith

6143 4 3K

Spring Modulith 是一个新的、实验性的 Spring 项目,它支持开发人员在代码中表达这些逻辑应用程序模块,以及构建结构良好、与领域对齐的 Spring Boot 应用程序。传统上,应用.

Rust模块系统的清晰解释 - sheshbabu

1169 14K
在这篇文章中,我将使用实际示例来解释模块系统,以便您清楚地了解它的工作原理,并可以立即开始在您的项目中应用它。由于 Rust 的模块系统非常独特,我要求读者以开放的心态阅读这篇文章,并拒绝将其与其他语.

模块化单体会取代微服务架构吗?- Itiel

2654 1 2K

关于模块化单体的讨论很多。我们可以在许多趋势图中看到这一点。许多研发经理都在询问这是否是微服务或其他东西的替代品/替代品。本文解释什么是模块化单体,为什么有些人认为它是微服务的替代品,以及我对使用不同.

Zephyr是一个类似OSGI的Java插件框架

1607

Zephyr 是一个基于Java的开源插件框架,具有智能依赖管理、模块化设计和占用空间小的特点。Zephyr 智能管理插件生命周期的各个方面,包括类加载、启动/停止顺序、更新等。Zephyr 仅重 1.

互联网是模块化的 - Gordon

923 1

互联网的关键架构原则之一是模块化;模块化是一种设计原则,它有意使组件高度独立(“松散耦合”);当一个系统由具有可识别边界的较小的独立部分组成时,它就是模块化的。在设计模块化架构时,系统架构师以最小化组.

是按技术职责还是按领域职责划分模块包? - Reddit

1218 1 4K

在构建 REST api 时,您会选择:选项 A:├── controllers│   ├── order.go│   ├── region.go│   └── user.go├── models│ .

如何实现软件设计中的高凝聚和松耦合? - thevaluable

2861 1 8K

为什么我们系统的模块耦合度如此之高?是因为他们缺乏凝聚力吗?(banq注:为什么人员在团队之间流动这么频繁?为什么团队之间开会如此频繁?是因为这些团队内部缺乏凝聚力吗?缺乏核心凝聚吗?) 案例:有人说.

领域分区:如何在微服务和单体之间找到健康的平衡 - Ashley

2288 2 4K
深入了解适合大多数中小型公司的架构模式:领域分区。只要工程师一直在编写代码,就一直在讨论构建一组系统的最佳方法。两种最常见的模式是单体和微服务。它们都有其优点和缺点,但是否有其他选择可以寻求两者之间的.

如何使用CQRS依据业务功能进有效地切割代码库?

1787 1
项目的结构与讨论空格与制表符或缩进大小一样敏感。当我们进入某人的公寓时,即使它是根据宜家的默认设置进行装饰的,它看起来也总是有些不同。这是绝对合理的。不同的公寓大小和房间布局会有所不同。它类似于我们的.

大脑并不是模块化的结构而是联网的大脑 - Luiz

972 2K

大脑如何产生思想?我们的感知、行动、思想和感觉?历史上对大脑的研究以分而治之的方式进行,试图找出单个区域的功能 - 包含皮质或皮质下层神经元的灰质块 - 一次一个。联网大脑这本书证明:由于大脑不是模块.

好围墙造就好邻居:好的边界反而促进团队合作 - trondhjort

1517 2 2K

将我们的软件分解为模块时,我们常常忘记重要的社会方面。设计如何影响团队,可能使他们相互竞争。一个具有韧性和可持续性的系统需要和谐。谚语“好围墙造就好邻居”描述了为什么我们的软件设计需要边界:不仅是解决.

使用ASP.NET Core和EF Core实现模块化单体DDD架构的经验 – thereformed

2290 1
本文是关于我在使用ASP.NET Core和EF Core的小型但复杂的应用程序上使用模块化单体/整体结构和域驱动设计(DDD)方法的经验。这不是有关模块化单体架构或DDD的入门知识(但每个链接都有很.

创建独立的Java可执行JAR的三种方法 - frankel

2131 11K

在这篇文章中,我们描述了三种创建独立的可执行JAR的方法。当您的应用程序超出了十几行代码时,您可能应该将代码分成多个类。在Java中,经典打包格式是Java ARchive,也称为JAR。但是实际应用.

全球大型电商Shopify如何使用DDD实现单体架构的模块化? – Shopify Engineering

5877 5 7K
高内聚低关联和SOLID原则是面向对象的设计原则,也是DDD用来划分有界上下文和聚合的原则,DDD聚合是一种高内聚低关联的对象,单一职责是划分不同上下文的主要原则,Shopify谈论他们如何使用这些原.

分裂中的NodeJS模块:为什么CommonJS和ES模块无法相处? - Dan Fabulich

2417 2K

自从Node诞生以来,Node模块就被编写为CommonJS模块。我们require()用来导入它们。当实现供他人使用的模块时,我们可以exports通过设置定义“命名导出”:module.expor.

为什么要使用封装? - Vaibhav Singh

2008 1 3K

Java是一种面向对象的编程语言(它符合纯面向对象的大多数属性),它包括四个OOP支柱(面向对象的编程)概念,即: 抽象化 封装形式 继承 多态性 今天,我将深入探讨称为封装的重要支柱。作为参考,封装.

Spring Boot项目的推荐软件包结构 - Baeldung

2609

鉴于Spring Boot的注解像@ComponentScan,@EntityScan,@ConfigurationPropertiesScan和@SpringBootApplication基于包结构.

为什么需要从按技术分层(dao,控制器,实体)转移到按业务功能(userMgmt,productMgmt)打包?- phauer

2268 1 6K
一种流行的方法是出于技术考虑进行包装Package。但是这种方法有一些缺点。相反,我们可以按功能打包并创建自包含且独立的程序包,结果是一个易于理解且不易出错的代码库。 按技术打包类的缺点: 对属于某个.

使用Spring Boot的Configuration和ArchUnit实现组件模块化和清晰边界 - reflectoring

2228 1 12K
本文提出了一种使用包Package设计对Java应用程序进行模块化的有效方法,并将此方法与Spring Boot作为依赖项注入机制结合使用,与ArchUnit结合使用,以在有人添加了不允许的模块间依赖.

用Java9模块实现DDD有界上下文 | Baeldung

1990 1 24K
领域驱动设计(DDD)是一组原则和工具,可帮助我们设计有效的软件体系结构以提供更高的业务价值。通过将整个应用程序域分离为多个语义一致的部分,Bounded Context是从架构的泥潭中拯救体系结构的.

Java模块系统JPMS是巨坑?- jodastephen

2210

我确实想知道,对于Java的长期健康而言,最好的办法是从应用程序代码中删除Java模块系统(只保留在JDK内部)。这对我来说是一个巨大的浪费时间,完全没有任何好处。有什么想法吗?众说纷纭:JPMS没有.