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:

8.1K
active users

#HexagonalArchitecture

0 posts0 participants0 posts today
fanf42<p>I had an extremely good refactoring session yesterday in our Scala code base, breaking a big chunk of mangled logic into the pure logic, its supporting IO/effects, and a data structure describing the commands from the first to the second.</p><p>Basic practice (<a href="https://social.treehouse.systems/tags/hexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hexagonalArchitecture</span></a> , <a href="https://social.treehouse.systems/tags/effectManagement" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>effectManagement</span></a>, etc), but it worked out very well and it's always astonishing how much it simplifies and bring clarity to complex code, and make it testable</p><p><a href="https://social.treehouse.systems/tags/scala" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scala</span></a></p>
Jeremy Davis<p>I will be leading a hands-on workshop at <a href="https://dddeurope.com" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">dddeurope.com</span><span class="invisible"></span></a> on June 4th!</p><p>Implement core DDD concepts including Aggregates, Repositories, Value Objects, and use Hexagonal Architecture for loose coupling. In Java and Python. </p><p><a href="https://techhub.social/tags/DomainDrivenDesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DomainDrivenDesign</span></a> <a href="https://techhub.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://techhub.social/tags/DDDEurope" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DDDEurope</span></a></p>
andros<p>Nobody want to be a shitty programmer. The question is: Do you do anything not to not be one?<br>Reading blogs or social media and watching YouTube videos is fun. After them, your code may be a little better, of course. But you need a lot. You need to study! Read good books and study the code of other programmers, for example. Maybe work with a new language, architectures and paradigms. You need break the routine.<br><br>If you know Object-oriented programming, you learn functional programming.<br>If you know Model-View-Controller, you learn Model-View-ViewModel.<br>If you don't know anything about architectures, you learn Clean Architecture, Hexagonal Architecture, etc.<br>If you know Python, you learn Ruby or Go.<br>If you know Clojure or Lisp... you don't need to learn anything else. You are already a good programmer. Just kidding. You can learn Elixir or Scala.<br><br>Be a good programmer my friend.<br><br><a href="https://activity.andros.dev/tags/programmin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programmin</span></a> <a href="https://activity.andros.dev/tags/oop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://activity.andros.dev/tags/functionalprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://activity.andros.dev/tags/mvc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MVC</span></a> <a href="https://activity.andros.dev/tags/mvvm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MVVM</span></a> <a href="https://activity.andros.dev/tags/cleanarchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanArchitecture</span></a> <a href="https://activity.andros.dev/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://activity.andros.dev/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://activity.andros.dev/tags/rubylang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RubyLang</span></a> <a href="https://activity.andros.dev/tags/golang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Golang</span></a> <a href="https://activity.andros.dev/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clojure</span></a> <a href="https://activity.andros.dev/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lisp</span></a> <a href="https://activity.andros.dev/tags/elixirlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ElixirLang</span></a> <a href="https://activity.andros.dev/tags/scala" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Scala</span></a></p>
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" 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" target="_blank">#<span>CSudberyRecordings</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a></p>
Oliver Drotbohm<p>🥁📢 <a href="https://chaos.social/tags/jMolecules" class="mention hashtag" rel="nofollow noopener" 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" 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" 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" 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" 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" 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" 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" target="_blank">#<span>OnionArchitecture</span></a>)<br>10) Release it (<a href="https://tooting.ch/tags/CI_CD" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>REPL</span></a> <a href="https://tooting.ch/tags/FSI" class="mention hashtag" rel="nofollow noopener" 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" 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" target="_blank">#<span>GameDev</span></a> <a href="https://mastodon.social/tags/MonoGame" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MonoGame</span></a> <a href="https://mastodon.social/tags/CleanArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CleanArchitecture</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://mastodon.social/tags/gaming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gaming</span></a> <a href="https://mastodon.social/tags/GameDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDevelopment</span></a> <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dotnet</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" 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" 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" 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" 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" 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" target="_blank">#<span>golang</span></a> <a href="https://mastodon.social/tags/go" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>go</span></a> <a href="https://mastodon.social/tags/dddesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dddesign</span></a> <a href="https://mastodon.social/tags/ddd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ddd</span></a> <a href="https://mastodon.social/tags/domaindrivendesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>domaindrivendesign</span></a> <a href="https://mastodon.social/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hexagonalarchitecture</span></a> <a href="https://mastodon.social/tags/portsandadapters" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>Hexagonal</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" 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" 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" 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" 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" target="_blank">#<span>SoftwareArchitecture</span></a> <a href="https://mastodon.social/tags/Hexagonal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Hexagonal</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://mastodon.social/tags/PortsAndAdaptersArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PortsAndAdaptersArchitecture</span></a></p><p><a href="https://www.youtube.com/watch?v=UpesTQhQhTE" rel="nofollow noopener" 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" target="_blank">#<span>ITByte</span></a>: The Clean <a href="https://mstdn.social/tags/Architecture" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>HexagonalArchitecture</span></a>, <a href="https://mstdn.social/tags/OnionArchitecture" class="mention hashtag" rel="nofollow noopener" 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" 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" target="_blank">#<span>hexagonalarchitecture</span></a> in <a href="https://mastodon.top/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a></p><p><a href="https://www.howtocodeit.com/articles/master-hexagonal-architecture-rust" rel="nofollow noopener" 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" target="_blank">#<span>DomainDrivenDesign</span></a> <a href="https://mastodon.social/tags/PortsAndAdapters" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PortsAndAdapters</span></a> <a href="https://mastodon.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" 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" 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" 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" target="_blank">#<span>SoftwareArchitektur</span></a> im <a href="https://mastodon.social/tags/Stream" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Stream</span></a></p>
Jakub Zalas<p><a href="https://mastodon.social/tags/hexagonalarchitecture" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>HexagonalArchitecture</span></a> <a href="https://tilde.zone/tags/PortsAndAdapters" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PortsAndAdapters</span></a> <br><a href="https://youtu.be/ZlfepC5EsZM?si=-HBIKr9rSJ7rfqTc" rel="nofollow noopener" 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" 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" 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" target="_blank">#<span>hexagonalArchitecture</span></a> <a href="https://chaos.social/tags/modulith" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>TDD</span></a> and <a href="https://sfba.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" 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" target="_blank">#<span>SpringBoot</span></a> configuration code and a few <a href="https://sfba.social/tags/htmx" class="mention hashtag" rel="nofollow noopener" 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" 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" target="_blank">#<span>Java</span></a> <a href="https://sfba.social/tags/HexagonalArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HexagonalArchitecture</span></a></p>

Introduced MapStruct by @gunnarmorling 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...

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.

mapstruct.org/

mapstruct.orgMapStruct – Java bean mappings, the easy way!