<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Software Architecure - Tag - JMS Blog</title><link>/tags/software-architecure/</link><description>Software Architecure - Tag - JMS Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 07 Jul 2026 07:53:52 -0600</lastBuildDate><atom:link href="/tags/software-architecure/" rel="self" type="application/rss+xml"/><item><title>Hexagonal Architecture (Python)</title><link>/posts/hexagonal-arc-python/</link><pubDate>Tue, 07 Jul 2026 07:53:52 -0600</pubDate><author>jms</author><guid>/posts/hexagonal-arc-python/</guid><description><![CDATA[<p>Hexagonal Architecture (also known as Ports and Adapters) is one of the best patterns for keeping your core business logic pure, testable, and completely decoupled from external noise like databases, APIs, or UI frameworks.</p>
<p>To get started, I will explain these core concepts and how they are applied using FastAPI, PostgreSQL, and Pytest.</p>
<h2 id="the-core-philosophy">The core philosophy</h2>
<p>The main idea is simple: Your business logic does not care what database or web framework you use. Instead of building your application in traditional database-centric layers, you put your Domain (Business Logic) at the absolute center. Anything outside that core (FastAPI, PostgreSQL, Celery, External APIs) is considered an &ldquo;external detail.&rdquo;</p>]]></description></item></channel></rss>