• 格雷戈尔·霍普在本文讨论了8本被视为软件架构师必读的经典书籍。 以下是所提及的关键书籍的摘要:1、维特鲁威(公元前 20 年)的《建筑学》:虽然与软件架构没有直接关系,但这部古代文献被提及,具有历史
  • 在本文中,我们将深入探讨五种基本设计模式,并探索在 Spring Boot 项目中有效应用这些模式的最佳实践。每种模式都将附有一个实际示例来演示其实现。 1、#单例模式单例模式确保一个类只有一个实例,并提供一个全局
  • 在本教程中,将探索 Spring 框架中的各种策略模式实现,例如列表注入、映射注入和方法注入。 什么是策略模式?策略模式是一种设计原则,允许您在运行时切换不同的算法或行为。它允许您在不改变应用程序核心逻辑的情况下插 icon
  • 可撤销命令设计模式是一种行为模式,它扩展了命令模式,允许撤销操作。当您想在应用程序中实现“撤销”或“重做”等功能时,此模式非常有用。下面详细介绍了该模式的工作原理及其实现方式。 关键组件命令接口:这定义了命令的契约,通常使用诸如execut icon
  • 亚历山大Alexander形式:一套有组织、连贯的模式,用于解决设计问题,定义了一套有组织的、连贯的模式,用于描述特定专业领域内的问题和解决方案。也称为亚历山大模式语言(Alexander Pattern Language)。 由建筑师克里斯托弗-亚历山大 icon
  • 在软件设计中,理解和应用正确的设计模式通常对于创建健壮且可维护的系统至关重要。模板方法和策略模式这两种模式提供了不同的软件设计方法,每种方法都有其独特的优势和应用。模板方法依赖继承来定义算法结构的一部分,并留下一些细节由子类实现,而策略模式则利用组合,允许通过将对象与不同的策略关联来在运行时更改对象 icon
  • 字符串模就像特殊的工具,可以使代码中的单词和句子的处理变得更加整洁和简单。字符串模板提供了一种更简单的方法,而不是通常的复杂方法。 什么是字符串模板?想象一下您正在用代码构建一个句子,例如“你好,[姓名]!” 在传 icon
  • 在软件工程中,模板方法和构建器模式是两种关键的设计模式,每种模式都提供了不同的面向对象设计方法。模板方法是一种行为设计模式,强调算法步骤的骨架,允许子类在不改变算法结构的情况下改变某些步骤。相反,构建器模式是一种创建型模式,专注于逐步构建复杂的对象,将对象的构建与其表示分离。这种差异对于寻求增强应用 icon
  • Singleton 是#Gof 四人帮于 1994 年引入的一种创造性设计模式,由于其简单的实现而经常被误用而受到批评。因此,它已演变成现代软件开发实践中的反模式。 让我们深入了解 Java 模式、单例的优缺点。 icon
  • 在创建 单例时,我们必须确保仅创建一个对象或仅发生一个类的一个实例化。为了确保这一点,以下常见的事情成为先决条件。所有构造函数都需要声明为“ private”构造函数。 它防止在类外部使用“new”运算符创建对象。 需要一个私有常 icon
  • 架构决策中有一个特别“坑”的概念,叫做“最佳实践”!在决策时,情境(Context) 才是我们应该依赖的主要依据,而不是盲目遵循所谓的“最佳实践”。 “最佳实践”最多只能带 icon
  • 区分正常高智商人群和非常高智商人群的一个简单方法是:当你给出一个具体的例子时: 他们是只在那个例子中得到了解惑? 还是他们看到了其底层的潜在模式/公式? 这个观点涉及到认知心理学和智力理论中的一些概念,特别是关于模式识别 icon
  • 空对象Null Object设计模式是一种行为设计模式,它提供一个对象作为引用缺失的替代。它不使用来表示对象的缺失,而是使用预定义的“空对象”。此对象实现与常规对象相同的接口,不执行任何操作或提供默认行为。空对象模式避免了空检查,使代码更简洁,并降低了出现null或其他类似NullPointerEx icon
  • 信息太多等于没有信息或者,正如他们所说,不记得的事情从未存在过。软件和系统架构的模式多达数千种。没有人知道所有模式,也没有人想知道(如果你说你知道,你一定已经读过 icon
  • 同学们注意啦!老师最近在讲面向对象设计模式这东西,发现大家好像都不太爱用它们。为啥呢?因为这些经典套路有点像你爸的老旧手机——虽然当年很牛,但现在新手机都有更好用的功能啦! (画重点)不过!这些模式要解决的问题就像数学题一样永远存在,我们只是需要用新方法来 icon
  • 如何判断某件事可用深度学习来解决呢? 用下面这个标准作为启发式判断标准: 领域专家能否无需有意识地思考。100%凭直觉完成这件事? 如果是,那么纯模式识别就是解决这个问题的合适方法:只要呢有足够的数据,你就能够产生一个有效的深度学习 icon
  • 在Java 16中引入,提供了一种简洁的建模方法不可变数据.它们自动生成构造函数、访问函数、equals(),hashCode()得双曲正弦值.字符串()方法,减少样板和提高可读性。 尽管有这些好处,记录也有明显的局限性。例如,所有字段必须在记录头中声明, icon
  • Go语言中的建造者模式:告别混乱的对象构造 为啥需要建造者模式?Go语言以简单著称,但是当我们要创建一个有很多字段的复杂对象时,代码就会变得又臭又长还容易出错。就像你组装一台电脑,如果把所有零件一次性堆给你,你肯定 icon