• 设计一个应该易于扩展的系统时,您首先要尝试扩展系统的不同组件。在客户端层,你有你的客户端设备,可以是台式机或移动设备在应用层,您将拥有
  • 经营传统农场绝对是一场噩梦。你必须喂食动物,把它们赶出去,安排兽医的拜访,种植庄稼,驱赶害虫,并同时处理数百项其他任务。把所有东西都放在正确的地方一定是一份全职工作。鸡无意识地四处游荡,被狐狸抢购一空,羊跳篱笆,荆棘丛生侵入你的土地。分离农场的不同功能区域是其成功管理的关键。 icon
  • 目标 提前计划并遵循模式或风格可以让开发人员更好地了解每个组件的职责,并让开发人员能够专注于较低级别的细节。 熟悉许多软件架构模式并了解每种模式的优缺点对于选择最适合功能要求的模式至关重要,并且最终很可能会导致更好和更容易的实现。 icon
  • 工作调度是一个众所周知的系统设计面试问题。下面是一些可能需要设计工作调度器的领域。 设计一个付款处理的系统。(即每月/每周/每天的支付等) 设计一个代码部署系统。(即代码流水线) 这个职位的目的是设计一个简单但可扩展的作业调度系统。 icon
  • 六边形架构是一种用于设计软件应用程序的架构模式。近年来,它的受欢迎程度有所增加,因为它是传统分层架构的替代品。 分层架构有什么问题?这种架构模式应用 SoC(关注点分离)原则将我们的组件分解为层,每一层都有 icon
  • 软件架构是任何成功软件系统的基础,并且会影响整个系统生命周期中的可维护性、可扩展性、稳定性和安全性等方方面面。实施新软件系统的第一步是架构图.随着软件系统和 Web 应用程序变得越来越复杂,精心设计的系统架构图对于与其他开发人员和利益相关者进行交流变 icon
  • 一、概述在本教程中,我们将使用 Hexagonal Architecture 的原理,使用 CLI 使用者实现一个简单的 Java CMS 应用程序。主要思想是尽可能保持业务逻辑分离,并使用SOLID原则中的“ D”依赖反转原则来防止层之间的耦合。< icon
  • 本文将在 Java 中实现 Hexagonal Architecture 的基本概念。 六边形架构:六边形架构是一种用于设计软件的架构模式。它旨在创建以核心业务逻辑或领域为中心的松散耦合的可互换软件组件。 icon
  • 学习领域驱动设计、软件架构、设计模式、最佳实践,该项目的主要重点是提供有关如何设计软件应用程序的建议。本自述文件中介绍了从不同来源收集的一些技术、工具、最佳实践、架构模式和指南。代码示例是使用 icon
  • 你的团队决定是时候摆脱那个旧的、笨重的单体了,它运行得很好,但是单体已经变得如此之大,以至于你花费更多的精力来维护它而不是添加功能。这里有 12 个技巧,可帮助您尽可能顺利地过渡到微服务。 #1 确保你知道你在做什么 icon
  • icon
  • 现在有很多很酷的平台可以学习编程语言基础,也有相当多的平台可以学习算法和数据结构,所有这些都有不同程度的游戏化或难度化。 但是,职业生涯需要比游戏更多的东西来获得成功所需的正确技能水平。 几乎没有什么平台可以学习 icon
  • 这是六个重要的软件架构原则的选择。 1. 制造、购买、重用——或者更好地重用、购买、至少制造在购买之前重复使用,在制造之前购买。为什么?示例:如果您制作(编码和实施)您的个人公司互联网浏览器、邮件应 icon
  • 系统设计对话可能非常具有挑战性。可能有很多模棱两可的地方、选项和想法——加上有限的时间和难以解决的问题。根据经验,我发现了一种通用方法,可以帮助使这些对话更有条理、更有趣、更有成效。 1. 要求和目标系统设 icon
  • 这些是 Internet 上系统设计的最佳资源。 视频处理大规模转码视频:https ://www.egnyte.com/blog/2018/12/transcoding-how-we-serve-vide icon
  • 本案例github源码是一个六边形架构的单体案例,非微服务案例。 首先,包的形式:1、把领域和基础设施分开。领域是你所有的业务逻辑、数据库模型、你的服务、DTOs、异常、端口接口和所有对你的领域来说重要的东西。有些人可能会争 icon
  • 我最近加入了一家仍处于成长阶段的金融科技初创公司。我们管理的平台基本上是投资组合管理。我们考虑来自用户银行的账户交易、汇率、资产价格(来自路透社等第三方),并计算投资组合估值和业绩。所以流程可以概括为:security transactions -> asset un icon