• 一般情况下,一个SpringBoot应用 = 一个微服务 = 一个模块 = 一个有边界的上下文,如果有多个模块,我们就开发多个微服务,多个SpringBoot应用,然后使用Springcloud实现它们之间动态访问和监控。 但是有时我们也会希望将多个模块放入一个SpringBoot应用中,这样模块之
  • 现在Spring boot来到了Jar世界,原来它是管理war世界的王者,所以,他也很可能带来了Jar打包规则的改变。Jar世界从OSGI到Java Service Loader以及Java 9的模块化,折腾了很长时间,现在看看Spring是如何折腾Jar包的动态加载的: icon
  • 人们过于害怕代码重复,过于憧憬可复用可重用的美好,导致对代码重复发起了一场神圣的战争。如今人们提出了不同的意见,在Twitter上引起了一场争论: “我呼吁结束针对代码重复的神圣战争。我们让年轻的开发人员和工程师相信这是有史以来最糟糕的事情,当时间 icon
  • 传统应用程序架构的标准三层或四层模型似乎决定了系统中各种对象之间的依赖关系的方向:UI依赖于应用程序层,因为UI“驱动”后面发生的事情;应用程序层依赖于业务对象,业务对象执行所有特定于领域的事务,业务对象使用(因此依赖于)持久层和通信层,这两个层又使用并依赖于外部API。以这种方式实现分层模 icon
  • Yadi是一个类型安全的依赖注入Dependency Injection容器,使用Java 8特性提供依赖配对wiring. icon
  • 在本教程中,我们将讨论面向对象设计的SOLID原则。首先,我们将首先探讨它们出现的原因以及为什么在设计软件时应该考虑它们。然后,我们将概述每个原则以及一些示例代码以强调这一点。 SOLID原则的原因 icon
  • Scala不是更好的Java,而是一个具有自己的生态系统,最佳实践和方法的非常独特的语言。 当人们谈论Scala的使用经验时,经常说可以将Scala看作是更好的Java。许多公司特别是在2008-2009年间采用Scala的公司,并不想放弃Java等熟悉的 icon
  • 在业务应用程序方面,您需要一个可以很好地扩展的体系结构。这是我的看法,基于Uncle Bobs EBI。尽管大多数人都认为我是DevOps人,但我经常在咨询项目期间使用业务应用程序,甚至在为DevOps企业编写管理软件时也是如此。在我这么多年的时间里,我意识到我编写代码的方式并不是非 icon
  • 几十年来,对软件重用的讨论远比实际的软件重用更常见。今天,情况正好相反:开发人员每天都以软件依赖的形式重复使用其他人编写的软件,而且情况大多未经审查。我自己的背景包括使用Google的内部源代码系统十年,该系统将软件依赖关系视为一流的概念, icon
  • 规则:创建一个对象时,它应该是一次性完整的、一致的且有效的创建好。 说白了,对于Java来说,一个类只应该有一个构造函数,这样才能保证一次性完整一致地创建它的对象。看看Matthias Noback有关DDD这篇文章怎么说,下面是一半翻译一半掺杂我个人观点 icon
  • The Cake Is a Lie指出大多数不知道:Scala中 icon
  • 随着微服务架构和云计算的出现,对工件部署的新方法的需求日益增长:独立的Java应用程序。在很短的时间内, Spring Boot 已成为该领域的领先技术。其优势包括:有自己意见的观点 - 这意味着它在你的位置做了很多工作;一个非常快速的项目启动:依赖关系按主 icon
  • 现在的Spring做IoC,说是运行时做的,其实并不能在运行时做修改,除非显式调用getBean方法。 比如我有一个接口IA。有两个实现类CA1和CA2。现在我在某处需要注入IA x;spring的做法都需要静态指定这个x会配到哪个实现类,是CA1还是CA icon
  • 在这篇文章中,我将重点解释一种设计模式(控制反转)和一种实践(YAGNI)如何降低软件项目失败的可能性。您可以立即开始应用这些技术。如果您是工程经理,如果您想降低功能边际成本的波动性,那么这是一个很好的解读 控制反转(IoC icon
  • Angular 2将基于 TypeScript 1.5建立,两个开发团队将共同合作,并提供一种使用元数据进行类注释声明的新途径,开发人员能够使用这些元注解清晰分离代码和配置信息。 此外还提供在运行时刻返回类型信息,可以提供简单的类型内省,使用附加检查保证代 icon
  • Simple Injector是一个免费的易于使用的支持 .NET 4+的依赖注入Dependency Injection (DI)库包,同时支持Silv icon