• 发现常见的架构反模式,学习如何避免它们并克服设计陷阱!获得宝贵的见解、实用的建议和实际示例,以构建更好的软件架构并改进现有架构。 反模式1:#货物崇拜在不了解流程、技术或方法为何以及如何运作的情况下采用它们,以期望
  • 当您设计一款软件时,设计时最重要的一点就是可理解性。安全性、性能和正确性都很重要,但它们次优于可理解性。 被误解的软件会产生Bug缺陷如果软件的实施者和维护者对软件存在误解,那么软件最终就会出现缺陷。主要缺
  • 由于软件的复杂性,始终需要以图形方式可视化软件架构并与其他人进行交流。对这些系统及其抽象进行建模和图表化使我们能够分析和改进设计,从而在构建它们时获得更高质量的实现。 在本文中,我们将比较 7 种流行的可视化建模语言。 icon
  • 每一项复杂技术的背后,系统工程师都扮演着关键的角色。系统工程师的任务是设计、实施和维护复杂的 IT 基础设施,这是我们当今看到的技术的基础。这些系统的范围从计算机网络、软件应用程序到大规模硬件配置。 这就是几乎每个行业都< icon
  • 以下是系统设计学习中的要点: CAP 定理基本要素:一致性、可用性、分区容错性。分区容错性:由于通信网络固有的不可靠性,因此必须具备。一致性和可用性之间的选择:< icon
  • 在软件开发领域,软件解决方案的概念和执行很大程度上取决于软件顾问和软件开发人员等两大技术专家的职责。虽然这两个角色对于成功完成软件项目都很重要,但他们的职责和技能有所不同。 本文将讨论软件开发人员 icon
  • Go-Architect是一个用于分析Go语言项目架构的工具,可以使用此工具来分析工件的设计,以便简化与重构代码、修复问题或改进工件功能相关的决策。 为什么我们应该使用架构分析工具?架构分析工具可以帮助及早检测设计 icon
  • 在本文中,我们将踏上揭开 CAP 定理复杂性的旅程,通过简单但相关的数据库类比的视角探索其意义和含义。 1.什么是CAP定理?CAP 定理,也称为 Brewer 定理,是分布式系统中的一个基本原则,它阐明了三个关键 icon
  • TOGAF 规定,架构视点(Architecture Viewpoint)管理架构视图(Architecture vView)。那么,如果利益相关者有疑虑,该疑虑会反馈到哪里,是架构视点还是架构视图? 解释1: < icon
  • 许多分布式数据库讨论的重点都是分布式查询规划、事务等方面的算法。这些都是非常有趣的话题,但事实上,作为一名分布式数据库工程师,我只有一小部分时间花在算法上,而过多的时间花在了在各个层面进行非常谨慎的权衡上(当然还有故障处理、测试、修复错误)。 icon
  • 本文说明在决定单体、微服务和无服务器架构时权衡的简化思维模型。目标是突出每种风格的固有优势和差距,同时为何时选择哪种建筑风格提供指导。 单体小型团队或项目的理想入门架构。它启动起来很简单,并且通常可以提供很多里程, icon
  • 在开发基于 COBOL 和分层数据库的旧保险系统的替代品时,决定使用通用产品建模系统。 系统的背景是什么?背景是一家保险公司,长期开发并运营了一个采用COBOL的32*70终端前端的保险计算、销售和维护系统,取得了 icon
  • 这篇文章讨论了在项目开发中,人们通常关注时间节点,但作者认为应该更关注项目的结构。 文章指出,项目的结构和复杂度对于解决问题至关重要,而人们往往忽视了这一点。 作者提出了 icon
  • 一家非常大的物流公司聘请了一家咨询公司来建立一个网上商店来购买该物流公司的产品。该系统的核心是一个使用通用订单框架构建的专有订单引擎。我们检查了系统并发现以下行为: 一切都是命令。如果您想更改地址、购买商品或更改信用卡信息,则可以使用 Order 类并对其进行配置。该框架通过解析元信 icon
  • 该项目应该用现代的、可扩展的、松散耦合的实现来取代现有的、单一的、难以扩展的结账系统。 为了实现这一目标,选择微服务架构作为软件系统的目标架构。微服务应该由一些核心服务来编排。此外,还有一个 Javascript 桌面应用程序,具有关联的前端后端(使用核心服务作为主要数据提供者)。服务之间的通信要么 icon
  • 一家保险公司开发了一个庞大而复杂的系统来处理其人寿保险单。由于不同技术和范式的混合,系统变得非常难以维护。6个月的部署周期对于业务需求来说太长了。 系统的背景是什么?该系统已投入生产约十年,目前维护团队的规模约为 icon
  • 我们开始启动一家德国公司的第一个企业架构:该公司在全球拥有约3万名员工,IT部门约有600人。 我们有一个独立的应用程序和系统环境。 我们的工作将从今年4月开始实施企业架构管理,你会推荐哪些领域、哪些主题作为开始 icon
  • 随着时间的推移,一家国际商业公司现有的商店结账系统变得越来越复杂,该公司管理层决定启动一个项目来实施基于现代技术的新系统。 系统的背景是什么? 主要是 Java 和 TypeScript 微服务 内部客户和用户距离不近 </ icon