模块化设计

     

GitHub - kgrzybek/modular-monolith-with-ddd: DDD单体模块化架构.NET案例源码

1724
采用领域驱动设计方法的全模块化Monolith的 .NET应用程序。点击标题进入。领域模型原则和属性:领域模型是系统中的中心和最关键部分,应该特别注意设计。以下是一些应用于每个模块的域模型的关键原则和.

模块模式(Module)

1343 1 12K
模块模式用于实现由模块化编程定义的软件模块的概念。适用性模块模式可以被视为创建模式和结构模式。它管理其他元素的创建和组织,并像结构模式那样对它们进行分组。应用此模式的对象可以提供与命名空间等效的名称空.

使用设计画布发现和建模有界上下文 - Nick Tune

1461 1 5K
我们如何将大型系统分解为更小,更易于管理的模块化组件?在领域驱动设计中,大型系统被分解为有界上下文,这些上下文在代码中成为微服务和组织中的团队的自然边界。识别良好边界没有捷径可走。对业务和领域的广泛而.

Jenkins已经老了 - ITNEXT

3083 2 5K

Jenkins的核心问题是它的单体巨石。一切都耦合在一起,插件,配置,web ui,Jenkins核心,一切都在一个大型Web应用程序中。是时候我们开始将我们在自己的生产系统上学到的经验应用到Jenk.

对单体系统优缺点评判到位:拆分Shopify单体工程的经验分享

2560 1 5K

Shopify是现存最大的Ruby on Rails代码库之一。它已被超过一千名开发人员使用了十多年。它封装了来自计费商家,管理第三方开发者应用程序,更新产品,处理运输等许多不同功能。它最初是作为整体.

Java中的复合视图设计模式(Composite View Design Pattern)

1524 1 57K
使用由多个子视图组成的复合视图。整个模板的每个子视图可以整体动态地包括在内,并且可以独立于内容来管理页面的布局。 Apache Tiles和SiteMesh  框架使用Composite View D.

使用@ConfigurationProperties配置Spring Boot模块

16902 4 20K

SpringBoot应用经常需要一些参数,这些参数可以定义要连接的数据库,要支持的区域设置或要应用的日志记录级别。这些参数应该外部化(放在代码之外),这意味着我们不应该将它们变成可部署的工件,而是在启.

在Java 11中创建一个简单的模块化应用教程

4707 12K

模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能。本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Coo.

软件复用导致的软件依赖问题 - research!rsc

2434 10K
几十年来,对软件重用的讨论远比实际的软件重用更常见。今天,情况正好相反:开发人员每天都以软件依赖的形式重复使用其他人编写的软件,而且情况大多未经审查。我自己的背景包括使用Google的内部源代码系统十.

清洁代码:职责 — Janos Pasztor

1607 4K

我听说你想成为一个更好的程序员。您希望使用可重用的部分,并希望更轻松地维护旧代码。您可能还希望在团队中更好地工作并确保减少错误。对更好代码的渴望通常会让人们发现“清洁代码”这个术语。这很可能是由罗伯特.

JavaScript中的领域驱动设计

1457 1 3K

让DDD为你的JavaScript混乱带来秩序。我不会把自己当作JavaScript开发人员,我总是开玩笑说这是一种我从未打算学习的语言。它现在如此普遍,它刚刚发生。我经历了享受它和鄙视它的阶段。但是.

如何针对Java9之前版本构建一个既模块化又兼容Java版本的库呢

1711 3K

如果您是库包或框架的作者,你可能希望看到你的库包在大量应用程序中使用。提升库包使用量的一种方法是使其与旧版Java兼容。同时,你可以考虑对库进行模块化,以使其对充分利用Java平台模块系统(JPMS).

良好架构的几个重要特征

3959 3 2K

在我看来,软件架构与建筑物的架构非常相似。你可以建造一个没有精心建筑设计的房子,但它永远不会是完美的。如果没有好的计划,你就无法建造一座大楼。在规划阶段,您需要注意几个想法:选择正确的墙壁,规划电力,.

精心设计的单体架构也是好的

1358 3
该文认为单体巨石架构如果经过良好设计也是很好的,但是什么是良好设计呢?原文:DevOps Days London今年很棒!会谈很有意思,文化包容性和友好性。我一直认为我们应该建立'正确的服务',而不是.

模块化不是采用微服务主要目的

1141

如果你转向微服务的动机是为了实现模块化,那么请三思而行。模块化是JVM内部的解决方案,比如JPMS, OSGI和JBOSS模块。JPMS对于应用程序级别的模块化是没有用的,OSGI的复杂臃肿会掩盖程序.

从Java 8升级到Java 11应该注意的问题

10079 2K

从Java 8迁移到Java 11比大多数升级更棘手。以下是这个过程的一些注意事项。模块在Java 9中Java引入了历史上最大的变化之一 是模块,但:不必将你自己的代码模块化以后才能升级到Java .

JPMS模块对于库包开发人员的负面效应

1978 4K

Java 9引入了一个主要的新功能:JPMS,即Java平台模块系统,但是对于专门提供库包开发的程序员却有负面效果。Java 8可能是有史以来最成功的Java版本,它被广泛使用,因此,几乎所有开源库都.

6种办法实现精益软件

1 996 2K

最近,我浏览了公司的代码库,发现它有三个版本的仪表板,都是用于分析页面,我很确定客户不需要那样做。这引发了我幼稚脑中的一些事情,我开始在互联网上寻找相关的想法。就在那时,我发现了这篇古老的论文:“为精.

写害羞的代码才能模块化

872

"Write shy code - modules that don't reveal anything unnecessary to other modules and that don't rel.

Jenkins插件原理

3933 1

1.它的插件是分两个部分,显示部分和运行控制部分,显示部分继承RootAction 定义菜单名称和url;控制部分继承Builder,在perfor方法里定义运行内容;在控制部分也有定义JSP参数输入.

按六角形架构实现模块化设计

1631 2
六角形架构是核心与接口外围关系图,业务逻辑核心应该位于中心,不依赖于外层接口,注意,这里数据库也是一种外围,很多系统能做到业务逻辑不依赖rest或界面,但是做不到不依赖于数据库。违背六角形架构的应.

纠结了,微服务和单体你选择哪一个?

2339 2K

本文是一篇微服务和单体架构比较文章,这类文章很多,但是比较的现象背后其实已经假设了一种先验的判断标准,这篇文章的言下之意是微服务比单体高级,对人员素质要求高,其实这是一种误解,微服务正是首先承认人理性.

真棒:使用Java 11实现应用的模块化

3964 1 8K

Java 11带来成熟的模块化系统,OSGI丢一边去吧,为什么要迁移到模块系统?1. 模块能带来可靠的配置 - 新的模块系统是需要在程序组件里明确声明依赖的方法,这种替代料以前默认的但是脆弱的、容易出.

使用Spring Boot实现模块化

5860 9 7K

一般情况下,一个SpringBoot应用 = 一个微服务 = 一个模块 = 一个有边界的上下文,如果有多个模块,我们就开发多个微服务,多个SpringBoot应用,然后使用Springcloud实现它.

测试和发现模块之间耦合的有效手段

1723 1 3K

虽然我们使用SpringBoot实现微服务,但是在一个微服务中还是有可能塞入很多模块;同时从单体向微服务过程中,只有先将单体切分成模块以后,这些模块之间的依赖越来越少,这些模块才能逐个独立成微服务。有.

Java ServiceLoader与Spring工厂加载器

3184 4 3K

现在Spring boot来到了Jar世界,原来它是管理war世界的王者,所以,他也很可能带来了Jar打包规则的改变。Jar世界从OSGI到Java Service Loader以及Java 9的模块.

模块化与微服务比较

8885 12 2K

本文比较了微服务和模块化整体架构(modularized monolith )的区别。现在大家一股脑从整体单片monolith迁移到微服务,但是这种转变真的适合你公司吗?整体单片monolith确实有.

ModRun: 无需Jigsaw的Java模块化

1061

ModRun是一个Java类加载器,能够在运行时直接从Maven仓库加载和运行类,并解决相关依赖。可加载多个应用到同一个JVM中,同时保持这些类完全隔离;能同时可加载同一目录的多个版本到JVM,甚至可.

JSPM: 流畅的浏览器包管理器

4957 2K

JSPM: jspm.io - Frictionless Browser Package Management是基于SystemJS的Javascript包 package管理器,基于动态的ES6模块.