模块化设计
GitHub - kgrzybek/modular-monolith-with-ddd: DDD单体模块化架构.NET案例源码
模块模式(Module)
使用设计画布发现和建模有界上下文 - Nick Tune
Jenkins已经老了 - ITNEXT
Jenkins的核心问题是它的单体巨石。一切都耦合在一起,插件,配置,web ui,Jenkins核心,一切都在一个大型Web应用程序中。是时候我们开始将我们在自己的生产系统上学到的经验应用到Jenk.
对单体系统优缺点评判到位:拆分Shopify单体工程的经验分享
Shopify是现存最大的Ruby on Rails代码库之一。它已被超过一千名开发人员使用了十多年。它封装了来自计费商家,管理第三方开发者应用程序,更新产品,处理运输等许多不同功能。它最初是作为整体.
Java中的复合视图设计模式(Composite View Design Pattern)
使用@ConfigurationProperties配置Spring Boot模块
SpringBoot应用经常需要一些参数,这些参数可以定义要连接的数据库,要支持的区域设置或要应用的日志记录级别。这些参数应该外部化(放在代码之外),这意味着我们不应该将它们变成可部署的工件,而是在启.
在Java 11中创建一个简单的模块化应用教程
模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能。本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Coo.
软件复用导致的软件依赖问题 - research!rsc
清洁代码:职责 — Janos Pasztor
我听说你想成为一个更好的程序员。您希望使用可重用的部分,并希望更轻松地维护旧代码。您可能还希望在团队中更好地工作并确保减少错误。对更好代码的渴望通常会让人们发现“清洁代码”这个术语。这很可能是由罗伯特.
JavaScript中的领域驱动设计
让DDD为你的JavaScript混乱带来秩序。我不会把自己当作JavaScript开发人员,我总是开玩笑说这是一种我从未打算学习的语言。它现在如此普遍,它刚刚发生。我经历了享受它和鄙视它的阶段。但是.
如何针对Java9之前版本构建一个既模块化又兼容Java版本的库呢
如果您是库包或框架的作者,你可能希望看到你的库包在大量应用程序中使用。提升库包使用量的一种方法是使其与旧版Java兼容。同时,你可以考虑对库进行模块化,以使其对充分利用Java平台模块系统(JPMS).
良好架构的几个重要特征
在我看来,软件架构与建筑物的架构非常相似。你可以建造一个没有精心建筑设计的房子,但它永远不会是完美的。如果没有好的计划,你就无法建造一座大楼。在规划阶段,您需要注意几个想法:选择正确的墙壁,规划电力,.
精心设计的单体架构也是好的
模块化不是采用微服务主要目的
如果你转向微服务的动机是为了实现模块化,那么请三思而行。模块化是JVM内部的解决方案,比如JPMS, OSGI和JBOSS模块。JPMS对于应用程序级别的模块化是没有用的,OSGI的复杂臃肿会掩盖程序.
从Java 8升级到Java 11应该注意的问题
从Java 8迁移到Java 11比大多数升级更棘手。以下是这个过程的一些注意事项。模块在Java 9中Java引入了历史上最大的变化之一 是模块,但:不必将你自己的代码模块化以后才能升级到Java .
JPMS模块对于库包开发人员的负面效应
Java 9引入了一个主要的新功能:JPMS,即Java平台模块系统,但是对于专门提供库包开发的程序员却有负面效果。Java 8可能是有史以来最成功的Java版本,它被广泛使用,因此,几乎所有开源库都.
6种办法实现精益软件
最近,我浏览了公司的代码库,发现它有三个版本的仪表板,都是用于分析页面,我很确定客户不需要那样做。这引发了我幼稚脑中的一些事情,我开始在互联网上寻找相关的想法。就在那时,我发现了这篇古老的论文:“为精.
写害羞的代码才能模块化
"Write shy code - modules that don't reveal anything unnecessary to other modules and that don't rel.
Jenkins插件原理
1.它的插件是分两个部分,显示部分和运行控制部分,显示部分继承RootAction 定义菜单名称和url;控制部分继承Builder,在perfor方法里定义运行内容;在控制部分也有定义JSP参数输入.
按六角形架构实现模块化设计
纠结了,微服务和单体你选择哪一个?
本文是一篇微服务和单体架构比较文章,这类文章很多,但是比较的现象背后其实已经假设了一种先验的判断标准,这篇文章的言下之意是微服务比单体高级,对人员素质要求高,其实这是一种误解,微服务正是首先承认人理性.
真棒:使用Java 11实现应用的模块化
Java 11带来成熟的模块化系统,OSGI丢一边去吧,为什么要迁移到模块系统?1. 模块能带来可靠的配置 - 新的模块系统是需要在程序组件里明确声明依赖的方法,这种替代料以前默认的但是脆弱的、容易出.
使用Spring Boot实现模块化
一般情况下,一个SpringBoot应用 = 一个微服务 = 一个模块 = 一个有边界的上下文,如果有多个模块,我们就开发多个微服务,多个SpringBoot应用,然后使用Springcloud实现它.
测试和发现模块之间耦合的有效手段
虽然我们使用SpringBoot实现微服务,但是在一个微服务中还是有可能塞入很多模块;同时从单体向微服务过程中,只有先将单体切分成模块以后,这些模块之间的依赖越来越少,这些模块才能逐个独立成微服务。有.
Java ServiceLoader与Spring工厂加载器
现在Spring boot来到了Jar世界,原来它是管理war世界的王者,所以,他也很可能带来了Jar打包规则的改变。Jar世界从OSGI到Java Service Loader以及Java 9的模块.
模块化与微服务比较
本文比较了微服务和模块化整体架构(modularized monolith )的区别。现在大家一股脑从整体单片monolith迁移到微服务,但是这种转变真的适合你公司吗?整体单片monolith确实有.
ModRun: 无需Jigsaw的Java模块化
ModRun是一个Java类加载器,能够在运行时直接从Maven仓库加载和运行类,并解决相关依赖。可加载多个应用到同一个JVM中,同时保持这些类完全隔离;能同时可加载同一目录的多个版本到JVM,甚至可.
JSPM: 流畅的浏览器包管理器
JSPM: jspm.io - Frictionless Browser Package Management是基于SystemJS的Javascript包 package管理器,基于动态的ES6模块.