What can routers at Centre Pompidou teach us about software evolution?
The article uses the visible routers at Centre Pompidou as a metaphor for how software systems evolve and adapt to new requirements over time.
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.
A guide to implementing the Mediator design pattern in C# from scratch, inspired by the MediatR library.
A summary of Day 2 of the Deep Dish Swift conference, covering talks on company struggles, Swift algorithms, modular architecture, mentorship, and Swift Playgrounds.
A consultant outlines six common signs that a software system's architecture lacks visibility and discoverability, hindering developer understanding and maintenance.
Explores the concept of testability in software architecture, its importance for quality and continuous delivery, and breaks down key components like controllability.
A critical analysis of the 'architect' role in software engineering, exploring its common anti-patterns and organizational dysfunction.
Explains the Humble Object design pattern for separating hard-to-test dependencies from core logic to improve unit testing in software development.
Explores the metaphor of 'terrain vague' (unused urban spaces) to understand unplanned and evolving structures in software systems and programming.
A guide to organizing a .NET Dependency Injection container using extension methods for better structure and maintainability.
Explores a component-based widget architecture for scalable SwiftUI projects, using self-contained widgets for isolated development.
Explains software design patterns like Mediator, Strategy, Singleton, and Proxy using simple sketches and real-world analogies.