Structure-cementing tests and how to avoid them 1/3
Explains structure-cementing tests that hinder code refactoring and introduces a TestDsl approach to write flexible, maintainable tests.
Explains structure-cementing tests that hinder code refactoring and introduces a TestDsl approach to write flexible, maintainable tests.
Explains Architecture Decision Records (ADRs), their structure, and their importance for documenting key technical decisions in software projects.
A critical analysis of business architecture's role in enterprise IT, questioning its practical value and the attitudes of its proponents.
A list of classic books on software architecture and design, from ancient principles to foundational 20th-century texts.
Explores the nuanced relationship between coupling, control flow, and event-driven architectures in distributed system design.
A guide to building state machines using the Stateless library in .NET 8, with practical examples like a light switch.
A developer's monthly digest covering tech articles, books, and personal thoughts on switching from an iPad to a Kindle Scribe for focused reading.
Final reflections on a 30-part series about building an image processing application using the SObjectizer actor framework in C++.
A developer discusses missing features and challenges in the SObjectizer C++ actor model library, focusing on agent shutdown behavior.
Explains how to implement the Decorator design pattern using .NET's Dependency Injection to add cross-cutting concerns like logging or caching.
The article uses the visible routers at Centre Pompidou as a metaphor for how software systems evolve and adapt to new requirements over time.
A guide to creating an effective automated testing strategy, covering evaluation criteria like certainty, speed, and maintainability with a practical use case example.
A comprehensive guide to implementing Object-Oriented Programming (OOP) design patterns in JavaScript, covering creational, structural, and behavioral patterns.
A tutorial explaining the Abstract Factory design pattern in Swift, including its components and a practical implementation example.
Explains Vertical Slice Architecture, an alternative to layered designs that groups code by feature to reduce complexity and coupling.
A critique of open-source software development's 'bazaar' model and advice for open-source maintainers on managing projects and avoiding burnout.
A guide to implementing multi-tenancy in ASP.NET Core using the FinBuckle.Multitenant library, covering tenants, strategies, and stores.
Argues that import path aliasing in JavaScript/TypeScript projects is a band-aid for poor codebase architecture and organization.
A guide to 12 common pitfalls developers face when implementing Clean Architecture, including overengineering and unclear layer boundaries.
A critique and refinement of Onion Architecture, analyzing its challenges and proposing a 'sliced' approach for better code organization.