mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

9.6K
active users

#HexagonalArchitecture

0 posts0 participants0 posts today
Clare Sudbery<p>What is hexagonal architecture, and how can it help to make your code more testable? In this Making Tech Better podcast episode, I spoke to @jitterted about the benefits and principles of hexagonal architecture, and how it enables you to keep your domain logic independent from the outside world.</p><p>You can listen here: <a href="https://www.youtube.com/watch?v=zpITtO-5d-o&nbsp;" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=zpITtO-5d-</span><span class="invisible">o&nbsp;</span></a></p><p><a href="https://mastodon.social/tags/CSudberyRecordings" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSudberyRecordings</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a></p>
Oliver Drotbohm<p>🥁📢 <a href="https://chaos.social/tags/jMolecules" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>jMolecules</span></a> 2023.3.0 (API 1.10, Integrations 0.25) is out! Improved <a href="https://chaos.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> verification and persistence code generation. See the release announcement for details. <a href="https://github.com/xmolecules/jmolecules-integrations/releases/tag/0.25.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/xmolecules/jmolecul</span><span class="invisible">es-integrations/releases/tag/0.25.0</span></a> ☕️⚗️</p>
Urs Enzler 🐉<p>1) Understand the domain<br>2) Domain modelling (<a href="https://tooting.ch/tags/ModelInCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ModelInCode</span></a>)<br>3) Let a test drive us (<a href="https://tooting.ch/tags/TDD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TDD</span></a>)<br>4) Implement the controller<br>5) Drive the core implementation by a test (TDD again)<br>6) Extend the business logic facade (<a href="https://tooting.ch/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a>)<br>7) Implement the command<br>8) Implement the event projection (<a href="https://tooting.ch/tags/EventSourcing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EventSourcing</span></a>)<br>9) Implement the database access (<a href="https://tooting.ch/tags/OnionArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OnionArchitecture</span></a>)<br>10) Release it (<a href="https://tooting.ch/tags/CI_CD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CI_CD</span></a>)<br>11) See your changes at work (<a href="https://tooting.ch/tags/REPL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>REPL</span></a> <a href="https://tooting.ch/tags/FSI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FSI</span></a>)</p><p>With code samples in <a href="https://tooting.ch/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a></p>
Sven Hendriks<p>The year is coming to an end and I want to get this blog post out the door. It's about making your game logic independent of the framework using hexagonal architecture. <a href="https://mastodon.social/tags/GameDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GameDev</span></a> <a href="https://mastodon.social/tags/MonoGame" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MonoGame</span></a> <a href="https://mastodon.social/tags/CleanArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CleanArchitecture</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://mastodon.social/tags/gaming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gaming</span></a> <a href="https://mastodon.social/tags/GameDevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GameDevelopment</span></a> <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://shendriks.dev/posts/2024-12-30-making-game-logic-framework-independent-with-hexagonal-architecture" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">shendriks.dev/posts/2024-12-30</span><span class="invisible">-making-game-logic-framework-independent-with-hexagonal-architecture</span></a></p>
Anton Stöckl ✅<p>I did it ... I ported the 3-part aricle series</p><p>"Implementing Domain-Driven Design and Hexagonal Architecture with Go"</p><p>from Medium to Substack, where it's not paywalled.</p><p><a href="https://eventsandstuff.substack.com/p/implementing-domain-driven-design-introduction" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">eventsandstuff.substack.com/p/</span><span class="invisible">implementing-domain-driven-design-introduction</span></a></p><p><a href="https://eventsandstuff.substack.com/p/implementing-domain-driven-design-domain" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">eventsandstuff.substack.com/p/</span><span class="invisible">implementing-domain-driven-design-domain</span></a></p><p><a href="https://eventsandstuff.substack.com/p/implementing-domain-driven-design-hexagonal" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">eventsandstuff.substack.com/p/</span><span class="invisible">implementing-domain-driven-design-hexagonal</span></a></p><p><a href="https://mastodon.social/tags/golang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>golang</span></a> <a href="https://mastodon.social/tags/go" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>go</span></a> <a href="https://mastodon.social/tags/dddesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dddesign</span></a> <a href="https://mastodon.social/tags/ddd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ddd</span></a> <a href="https://mastodon.social/tags/domaindrivendesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>domaindrivendesign</span></a> <a href="https://mastodon.social/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalarchitecture</span></a> <a href="https://mastodon.social/tags/portsandadapters" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>portsandadapters</span></a></p><p>Reposts very much appreciated! :-)</p>
Vaughn Vernon 🟦 🟨 🟧 🟪<p>In case you missed my three-part Ports and Adapters (<a href="https://mastodon.social/tags/Hexagonal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Hexagonal</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a>) tutorials, here are the links:</p><p>Part 1:<br><a href="https://youtu.be/TC4e0hokDB8" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/TC4e0hokDB8</span><span class="invisible"></span></a></p><p>Part 2:<br><a href="https://youtu.be/V4nj8MXUv5k" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/V4nj8MXUv5k</span><span class="invisible"></span></a></p><p>Part 3:<br><a href="https://youtu.be/UpesTQhQhTE" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/UpesTQhQhTE</span><span class="invisible"></span></a></p>
Vaughn Vernon 🟦 🟨 🟧 🟪<p>Next up on my YouTube channel...</p><p>Design Accelerator: Ports and Adapters Architecture Part3</p><p>After explaining several aspects of the Ports and Adapters Architecture in Parts 1 and 2, Vaughn wraps up this topic with examples of how to structure your architecture using modules using Java packages and C# namespaces.</p><p><a href="https://mastodon.social/tags/SoftwareArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareArchitecture</span></a> <a href="https://mastodon.social/tags/Hexagonal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Hexagonal</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://mastodon.social/tags/PortsAndAdaptersArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PortsAndAdaptersArchitecture</span></a></p><p><a href="https://www.youtube.com/watch?v=UpesTQhQhTE" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=UpesTQhQhT</span><span class="invisible">E</span></a></p>
Knowledge Zone<p><a href="https://mstdn.social/tags/ITByte" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ITByte</span></a>: The Clean <a href="https://mstdn.social/tags/Architecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Architecture</span></a> is the system architecture guideline proposed by Robert C. Martin derived from many architectural guidelines like <a href="https://mstdn.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a>, <a href="https://mstdn.social/tags/OnionArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OnionArchitecture</span></a>.</p><p>Here is a quick overview.</p><p><a href="https://knowledgezone.co.in/posts/Clean-Architecture-62598efeeada9ba345c35f27" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">knowledgezone.co.in/posts/Clea</span><span class="invisible">n-Architecture-62598efeeada9ba345c35f27</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Master <a href="https://mastodon.top/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalarchitecture</span></a> in <a href="https://mastodon.top/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a></p><p><a href="https://www.howtocodeit.com/articles/master-hexagonal-architecture-rust" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">howtocodeit.com/articles/maste</span><span class="invisible">r-hexagonal-architecture-rust</span></a></p>
Eberhard Wolff<p><a href="https://mastodon.social/tags/DomainDrivenDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DomainDrivenDesign</span></a> <a href="https://mastodon.social/tags/PortsAndAdapters" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PortsAndAdapters</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> with <span class="h-card" translate="no"><a href="https://mastodon.social/@VaughnVernon" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>VaughnVernon</span></a></span> <br>Recording (video / podcast) available!<br><a href="https://software-architektur.tv/2024/05/29/episode218.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">software-architektur.tv/2024/0</span><span class="invisible">5/29/episode218.html</span></a><br><a href="https://mastodon.social/tags/SoftwareArchitektur" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareArchitektur</span></a> im <a href="https://mastodon.social/tags/Stream" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Stream</span></a></p>
Jakub Zalas<p><a href="https://mastodon.social/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalarchitecture</span></a></p>
Aleix Morgadas<p>Estuve hablando sobre mis experiencias con la arquitectura hexagonal, y que pasa cuando se mal entiende/aplica.</p><p>Me lo pasé bien la verdad 😄</p><p><a href="https://tilde.zone/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://tilde.zone/tags/PortsAndAdapters" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PortsAndAdapters</span></a> <br><a href="https://youtu.be/ZlfepC5EsZM?si=-HBIKr9rSJ7rfqTc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">youtu.be/ZlfepC5EsZM?si=-HBIKr</span><span class="invisible">9rSJ7rfqTc</span></a></p>
Arnold Franke<p>Personally working with hexagonal architecture for the first time and recognizing its problems, I was working on a way to mitigate the problems by combining it in a meaningful way with the modulithic approach. </p><p>Thankfully a colleague pointed me to this article by <span class="h-card" translate="no"><a href="https://chaos.social/@odrotbohm" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>odrotbohm</span></a></span> delivering a solution to this exact problem. And also describing it in a very comprehensible way. </p><p><a href="https://odrotbohm.de/2023/07/sliced-onion-architecture/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">odrotbohm.de/2023/07/sliced-on</span><span class="invisible">ion-architecture/</span></a></p><p><a href="https://chaos.social/tags/hexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalArchitecture</span></a> <a href="https://chaos.social/tags/modulith" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>modulith</span></a></p>
Ted M. Young<p>Once again, <a href="https://sfba.social/tags/TDD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TDD</span></a> and <a href="https://sfba.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> meant that when I hooked up the "real" timer broadcaster (using WebSockets), everything just worked.</p><p>Only took 35 lines of WebSocket code and 10 lines of <a href="https://sfba.social/tags/SpringBoot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SpringBoot</span></a> configuration code and a few <a href="https://sfba.social/tags/htmx" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>htmx</span></a> attributes on the HTML page. (Not counting the separate transformer code that generated the HTML.)</p>
Ted M. Young<p>I love how IntelliJ IDEA uses my file coloring settings everywhere, so when I'm looking through the Git history, I can quickly see what adapters I've changed (as they're colored in blue).</p><p>You can see how I set up these colors in this video: <a href="https://youtu.be/lMcbxwJ74P4" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/lMcbxwJ74P4</span><span class="invisible"></span></a></p><p><a href="https://sfba.social/tags/Java" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Java</span></a> <a href="https://sfba.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a></p>
Álvaro Lorente<p>Is <a href="https://mastodon.social/tags/hexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalArchitecture</span></a> the new <a href="https://mastodon.social/tags/singleton" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>singleton</span></a>? 🚩</p><p>The pattern might be good ofr its own cases. My current concerns, is how widely people are applying it without reflecting on the tradeoffs. Remember the creator of the singleton pattern said about his own pattern.</p>
Arnold Franke<p>Introduced MapStruct by <span class="h-card" translate="no"><a href="https://mastodon.online/@gunnarmorling" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>gunnarmorling</span></a></span> into my new customer project. This is still the best solution I know to map between layers in Java. Especially when the project uses hexagonal architecture, which has layers. Layers everywhere...</p><p>It also supports mapping from two different sources, mapping into an existing object and deep clones. Thanks for this fine piece of software, Gunnar and friends.</p><p><a href="https://mapstruct.org/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">mapstruct.org/</span><span class="invisible"></span></a></p><p><a href="https://chaos.social/tags/mapstruct" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mapstruct</span></a> <a href="https://chaos.social/tags/java" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>java</span></a> <a href="https://chaos.social/tags/hexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalArchitecture</span></a></p>
CluelessJoe<p>Regarding state transition in a proper Hexagon/DDD setting, shall i have:<br>A "switchToInProgress(pendingTodo|doneTodo)" <br>B "a method startProgress() on pendingTodo &amp; doneTodo plus a save(todos) method somewhere"<br>?</p><p><a href="https://mamot.fr/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://mamot.fr/tags/DomainDrivenDesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DomainDrivenDesign</span></a></p><p>1/n</p>
Ted M. Young<p>In today's <a href="https://sfba.social/tags/LiveCoding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LiveCoding</span></a> stream with Mike Rizzi (working on his "Song Themes" app), we did quite a bit of Prepare Refactoring to make the behavioral change easy.</p><p>We also tried a few different implementations of finding songs by their theme, even though we (at least I) were pretty sure the <a href="https://sfba.social/tags/Java" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Java</span></a> stream version (using groupingBy) would be the winner.</p><p>Lots of interesting discussion as always while we <a href="https://sfba.social/tags/TDD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TDD</span></a> the code. Ended with fixing the failing <a href="https://sfba.social/tags/SpringBoot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SpringBoot</span></a> test and repackaging according to <a href="https://sfba.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HexagonalArchitecture</span></a>.</p><p><a href="https://youtube.com/live/AmUKA42XtuQ" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtube.com/live/AmUKA42XtuQ</span><span class="invisible"></span></a></p><p>Full playlist for all episodes: <a href="https://www.youtube.com/playlist?list=PLBHctPrH7Z2-nyaHBETfklyqddmEZUp95" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/playlist?list=PLBH</span><span class="invisible">ctPrH7Z2-nyaHBETfklyqddmEZUp95</span></a></p>
Álvaro Lorente<p>Doing <a href="https://mastodon.social/tags/hexagonalArchitecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hexagonalArchitecture</span></a> for your trivial CRUD application 🤦‍♂️ <a href="https://mastodon.social/tags/stop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>stop</span></a> <a href="https://mastodon.social/tags/complexity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>complexity</span></a></p>