Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Drawing Service Boundaries: Business Capabilities, Bounded Contexts and Types of Coupling
A service boundary is drawn not around tables or entities but around business rules that change together: a service holds at most one bounded context and is owned by a single team. The business capability and subdomain approaches, Microsoft's boundary guide, Newman's domain, pass-through, common and content coupling, the entity service anti-pattern, and Customer as three separate models in three contexts.
Context Mapping: Anti-Corruption Layer, Open Host Service, and Relationships Between Bounded Contexts
A context map names the relationships between bounded contexts on both the technical and the organizational level: upstream/downstream, Partnership, Shared Kernel, Customer/Supplier, Conformist, Anti-Corruption Layer, Open Host Service, Published Language, Separate Ways, and Big Ball of Mud. Bookstore's context map, a tested ACL that translates the legacy carrier's SOAP/XML model into Shipping's, a versioned Published Language, and the trap of a Shared Kernel turning into Common.dll.
Bounded Context: Same Word, Different Meanings, and Model Boundaries
A bounded context is an explicitly drawn boundary within which a model and its language apply; because a "book" is a work on sale in Catalog, physical copies in Inventory, a purchased line in Ordering, and a box in Shipping, you need four models instead of one giant Book class. Evans's definition, CS0104 with .NET's Timers, how a bounded context differs from a subdomain and a microservice, sizing, a Bounded Context Canvas for Ordering, and one schema per context with EF Core.