Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Understanding the Monolith: Single-Process, Modular, and Distributed Monoliths
A monolith is not bad code but a single deployment unit; the real problem is the Big Ball of Mud, which forms in one process just as well as in twenty services. The difference between single-process, modular and distributed monoliths, module boundaries guarded by the compiler with internal, how a five-service synchronous chain misses a 99.9% target, and the Monolith First debate, all through Bookstore.
Component Diagrams: Provided/Required Interfaces, Ports and Drawing .NET Modules
A component diagram splits a system into replaceable modules and shows which interfaces each module provides (lollipop) and which it requires (socket); in .NET that means a public contracts project, an internal implementation and DI registrations in the composition root. In this post we draw the Leave, Payroll and Notification modules with ports and delegation connectors and read the wiring back from the DI registrations.