Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
17 posts found
Layered Architecture: The Real Responsibilities of Presentation, Business, and Data Layers
Software Architecture PART 05

Layered Architecture: The Real Responsibilities of Presentation, Business, and Data Layers

The real promise of Layered Architecture is the isolation that closed layers provide, but because ProjectReference is transitive by default in .NET, Web silently sees Data through Business; DisableTransitiveProjectReferences moves that rule into the compiler. N-layer vs N-tier, closed and open layers, sinkholes, DB-centric design and the problem with the dependency direction.

7 Nov 2026 13 min 5
Trade-off Thinking: No Right Answer, Only the Least Worst Option
Software Architecture PART 04

Trade-off Thinking: No Right Answer, Only the Least Worst Option

In architecture every option gains one characteristic at the expense of another; the job is to make the cost visible and accept it deliberately. In Bookstore, sending the order email synchronously ties checkout to SMTP and creates duplicate orders, while queuing it with Channel<T> brings checkout down to 1 ms but loses 3 emails when the process stops; one-way and two-way doors, the last responsible moment and writing down the why.

7 Nov 2026 13 min 5
Quality Attribute Scenarios: Turning "Make It Fast" into a Measurable Requirement
Software Architecture PART 03

Quality Attribute Scenarios: Turning "Make It Fast" into a Measurable Requirement

A sentence like "make it fast" becomes a measurable, testable requirement through SEI's six-part quality attribute scenario (source, stimulus, environment, artifact, response, response measure). In the example, search looks fine with a 121 ms average but misses the target at p95 with 659 ms; prioritizing with a utility tree and connecting scenarios to tests and monitoring.

7 Nov 2026 10 min 5
Quality Attributes: Defining Architecture Characteristics with ISO/IEC 25010:2023
Software Architecture PART 02

Quality Attributes: Defining Architecture Characteristics with ISO/IEC 25010:2023

Architecture characteristics describe not what a system does but how well it does it, and they only produce decisions once tied to a domain goal and a number. The nine characteristics of ISO/IEC 25010:2023 and what changed since 2011, FoSA's classification, their .NET 10 counterparts and the top three chosen for Bookstore.

7 Nov 2026 10 min 5
What Is Software Architecture? How It Differs from Design and What an Architect Does
Software Architecture PART 01

What Is Software Architecture? How It Differs from Design and What an Architect Does

Software architecture is the set of decisions that shape a system's important properties and are expensive to undo; between it and design there is no hard line but a spectrum from strategic to tactical. The SEI, ISO/IEC/IEEE 42010 and Fowler/Johnson definitions, FoSA's three laws, the architect's role and the Bookstore example used across the category.

7 Nov 2026 12 min 5
Blog Map