收录了 六边形架构 频道下的 50 篇内容
Netflix有1.5亿用户,其原创内容每年不断增长。本文阐述了为提升创作过程效率,Netflix如何从单体转换成六边形架构去构建应用的。
分层系统是一种架构风格,它的本质是避免软件的可维护性最大的敌人——耦合的出现。端口和适配器架构风格,也叫做六边形架构,就是这种分层系统的一个示例。lan Cooper在一次演讲中为听众解释了各种架构风格的特性,尤其着重讲解了六边形架构的内容。
采用依赖倒置原则后的分层架构和六边形架构,实际上都符合整洁架构设计理念。但是六边形架构中使用端口与适配器,让应用程序能够以一致的方式被用户、程序、自动化测试、批处理脚本所驱动,同时能够让应用程序边界更加清晰,从而能更
不能说微服务拯救了DDD,但确实让其重新焕发了青春。
前言:六边形架构又称“端口适配器架构”,实际上也是一种分层架构,只不过由上下或者左右变成了内部与外部。其核心理念就是应用通过端口与外部进行交互的。核心的业务逻辑(领域模型)与外部资源(数据库等资源)完全隔离,仅通过适配器进行交互,解决了业务
趁着双十一备战封板,终于又有一些时间可以梳理一下最近的心得。最近这半年跟同事讨论比较多的是分层架构,然后就会遇到两个触及灵魂的问题,一个是如何做好分层架构,二是DDD在架构层面该如何落地。
距离Eric Evans的那本《领域驱动设计——软件核心复杂性应对之道》出版,至今已有10年的时间。我想,多数有经验的程序开发者都应该听说过DDD,并且尝试过将其应用在自己的项目中。不知你是否遇到过这样的场景:你创建了一个资源库(Repository),但一段时间之后发现这个资源库和传统的DAO越来越像了,你开始反思自己的实现方式是正确的吗?或者,你创建了一个聚合,然后发现这个聚合是如此的庞大,它为什么引用了如此多的对象,难道又是我做错了吗?其实你并不孤单,我相信多数同仁都曾遇到过相似的问题。现在,我们有了《实现领域驱动设计》,作为该书的译者,我有幸通读了本书,受益匪浅,得到的结论是:好的软件就应该是DDD的。
在微服务时代,“单体”变成了一个肮脏的词汇。不过,按照模块化进行设计的单体更适合用在复杂的领域,比如企业应用。这是文章的第二部分,介绍了用于创建模块化单体的最佳实践。
本文希望帮助 Elixir 开发者学习如何构建可维护、适应并扩展的大型代码库,而不会陷入复杂的依赖项与技术累赘的陷阱中。
Wade Waldron相信,通过结合使用领域驱动设计(DDD)与洋葱架构,他的代码质量在几年之内得到了极大的提高。一开始他仅仅使用了DDD,但随着结合使用洋葱架构,他发现他的代码更加易读易懂了,维护的难度也降低了许多。作者 – Jan Stenberg
在小型业务组件之间使用事件进行交互可以简化系统架构,上周Russ Miles在探讨“通过事件简化架构(Architectural Simplicity through Events)”时谈到了这一点。
微服务架构有哪些模型?中台、领域驱动设计及微服务之间有着什么样的关系?微服务的边界设计怎么做?怎么做设计和拆分?且看作者为你娓娓道来。
Nat Pryce和他的团队开始构建基于事件溯源架构的新系统时,在设计上犯了几个重大的错误,但最后成功地修复了这些错误,修复过程也并不复杂。
云服务的发展影响了开发人员构建分布式应用程序的方式。
自 2014 年苹果发布会发布 Swift 之后, Swift 经过多年迭代
了解软件架构基础比以往任何时候都要来得重要,因为我们现在构建的系统越来越趋于分布式化,而且开发团队也越来越分布式化。为了解开这些迷思,开发者需要了解五个与软件架构有关的事实。
在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势。在这篇文章中,我们主要讨论 GraphQL 最突出的架构优势。
软件设计应该采用自顶向下还是自底向上的方法?
虽然行为驱动开发(BDD)更针对于会话和示例,但是其软件设计部分可以用于领域驱动设计(DDD)的实践,Konstantin Kudryashov诠释了BDD的会话部分和领域设计活动的结合运用。